:root{color-scheme:light;--ink:#0F0E47;--muted:#505081;--line:#e5e5ef;--primary:#272757;--primary-dark:#0F0E47;--accent:#8686AC;--surface:#fff;--canvas:#f7f7fa}
*{scrollbar-color:var(--accent) #ededf4;scrollbar-width:thin}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{border-radius:999px;background:#ededf4}
*::-webkit-scrollbar-thumb{min-height:36px;border:2px solid #ededf4;border-radius:999px;background:var(--accent)}
*::-webkit-scrollbar-thumb:hover{background:var(--primary)}
*::-webkit-scrollbar-corner{background:var(--canvas)}
*{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
*{box-sizing:border-box}
body{min-height:100vh;margin:0;background:var(--canvas);color:var(--ink);font:16px/1.55 "Josefin Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;display:flex;flex-direction:column}
a{color:var(--primary);text-decoration:none}
a:hover,a:focus,a:active{text-decoration:none}
button,.button,input[type=submit],input[type=button]{text-decoration:none}
a.button,a.nav-cta,a.sidebar-link,a.folder-link,a.dashboard-folder,.upload-panel .panel-head>a{text-decoration:none}
a.button:hover,a.nav-cta:hover,a.sidebar-link:hover,a.folder-link:hover,a.dashboard-folder:hover,.upload-panel .panel-head>a:hover{text-decoration:none}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.nav-wrap,.footer-wrap{width:min(1100px,calc(100% - 40px));margin:auto;display:flex;align-items:center;justify-content:space-between}
.nav-wrap{height:72px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;font-size:20px}
.brand:hover{text-decoration:none}
.brand-icon{width:42px;height:42px;object-fit:contain}
.nav-wrap nav,.footer-wrap nav{display:flex;align-items:center;gap:25px}
.nav-wrap nav{font-size:15px;font-weight:600}
.nav-wrap nav a:hover,.footer-wrap nav a:hover{text-decoration:none}
.nav-form{margin:0}
.nav-button{border:0;padding:0;background:none;color:var(--muted);font:inherit;cursor:pointer}
.nav-cta{padding:10px 16px;border-radius:8px;background:var(--primary);color:#fff}
.nav-cta:hover,.button:hover{background:var(--primary-dark);color:#fff;text-decoration:none}
.container{width:min(1100px,calc(100% - 40px));margin:0 auto;flex:1}
.hero{padding:95px 0 82px;max-width:690px}
.eyebrow{color:var(--primary);font-size:14px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
h1{margin:14px 0 18px;font-size:clamp(42px,7vw,68px);letter-spacing:-.045em;line-height:1.04}
.hero p{max-width:600px;color:var(--muted);font-size:20px}
.actions{display:flex;gap:12px;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 19px;border:0;border-radius:8px;background:var(--primary);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.button-secondary{background:#e9e9f1;color:var(--ink)}
.button-secondary:hover{background:#dadae8;text-decoration:none}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 0 75px}
.steps-section{padding:0 0 75px}
.steps-heading{margin-bottom:22px}
.steps-heading h2{margin:8px 0 0;font-size:32px}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step-card h3{margin:16px 0 7px;font-size:21px}
.step-card p{margin:0;color:var(--muted)}
.step-icon{font-size:17px}
.card,.auth-card,.panel,.legal-card{background:var(--surface);border:1px solid var(--line);border-radius:14px}
.card{padding:24px}
.feature-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#ededf4;color:var(--primary);font-weight:700;font-size:13px}
h2{margin:16px 0 7px;font-size:21px}
.card p,.muted{color:var(--muted)}
.page-heading{padding:48px 0 20px}
.page-heading h1{font-size:40px;margin:0 0 8px}
.page-heading p{margin:0;color:var(--muted)}
.auth-wrap{width:min(440px,calc(100% - 40px));margin:65px auto;flex:1}
.auth-card{padding:32px}
.auth-card h1{font-size:34px;letter-spacing:-.03em;margin:0 0 8px}
.auth-card>p{color:var(--muted);margin:0 0 24px}
.field{display:grid;gap:7px;margin:17px 0}
.field label{font-size:15px;font-weight:600}
.field input,.upload-input{width:100%;min-height:44px;border:1px solid #d4d4e2;border-radius:8px;padding:10px 12px;background:#fff;font:inherit}
.field input:focus,.upload-input:focus{outline:3px solid #dadae8;border-color:var(--accent)}
select{min-height:42px;padding:8px 38px 8px 12px;border:1px solid #d4d4e2;border-radius:8px;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%230F0E47' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;color:var(--ink);font:inherit;cursor:pointer}
select:focus-visible{outline:3px solid #dadae8;border-color:var(--accent)}
select:disabled{background-color:#f1f1f6;color:var(--muted);cursor:not-allowed}
select option{background:#fff;color:var(--ink)}
.auth-card .button{width:100%;margin-top:8px}
.form-error,.notice{padding:11px 13px;border-radius:8px;background:#fff1ef;color:#9b3027}
.notice{background:#ededf4;color:var(--primary-dark);margin-bottom:16px}
.auth-switch{text-align:center;margin:20px 0 0!important;font-size:15px}
.dashboard{padding-bottom:60px}
.panel{padding:24px;margin:18px 0}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.panel-head h2{margin:0}
.upload-form{display:flex;align-items:center;gap:12px}
.upload-form .upload-input{flex:1}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:620px}
th,td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left}
th{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
td{font-size:15px}
.file-name{font-weight:600;color:var(--ink)}
.share-row{display:flex;align-items:center;gap:7px}
.share-url{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px}
.folder-share-link-row{display:grid;min-width:0;gap:8px}
.folder-share-url{display:block;min-width:0;padding:9px 10px;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);font-size:13px;line-height:1.45}
.folder-settings-open{display:flex;width:100%;gap:9px;margin-top:16px}
.folder-dialog-section{display:grid;gap:10px;padding:17px 0;border-top:1px solid var(--line)}
.folder-dialog-section h3{margin:0;font-size:16px}
.folder-dialog-section .share-protection-status,.folder-dialog-section .share-password-help{margin:0;color:var(--muted);font-size:14px}
.folder-dialog-section .folder-share-link-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch}
.folder-dialog-section .folder-share-url{align-self:center}
.folder-dialog-section .share-password-form,.folder-dialog-section .folder-rename-form{display:grid;gap:9px;margin:0}
.folder-dialog-section .share-password-form input,.folder-dialog-section .folder-rename-form input{width:100%;min-width:0;min-height:44px;padding:9px 12px;border:1px solid #d4d4e2;border-radius:8px;background:#fff;font:inherit}
.folder-dialog-section .share-password-form .button,.folder-dialog-section .folder-rename-form .button{justify-self:start}
.folder-dialog-section .folder-dialog-remove-password,.folder-dialog-section .folder-dialog-delete-form{margin:0}
.folder-dialog-section .folder-dialog-delete-form{padding-top:10px;border-top:1px solid var(--line)}
.folder-sharing-state{display:flex;align-items:flex-start;gap:9px;margin:0;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#f7f7fb;color:var(--muted);font-size:14px;line-height:1.5}
.folder-sharing-state i{margin-top:3px;color:var(--primary)}
.folder-sharing-state.is-public{border-color:#cce6d9;background:#f0faf5;color:#286044}
.folder-sharing-state.is-public i{color:#286044}
.folder-sharing-toggle{display:flex;justify-content:flex-start;margin:0}
.folder-sharing-toggle .button{min-height:40px;padding:9px 14px}
.folder-settings-dialog .folder-dialog-section:last-child{padding-bottom:0}
.shared-folder-page{padding-bottom:60px}
.shared-folder-password{max-width:440px;margin:0 0 32px}
.shared-folder-table{min-width:620px}
.shared-folder-table .button{min-height:38px;padding:8px 13px}
.copy-button{border:1px solid var(--line);border-radius:6px;background:#fff;padding:6px 9px;color:var(--primary);font:inherit;font-size:13px;cursor:pointer}
.legal-card{max-width:800px;padding:32px;margin:10px 0 64px}
.legal-card h2{margin-top:26px}
.legal-card p,.legal-card li{color:var(--muted)}
.site-footer{margin-top:auto;background:#fff;border-top:1px solid var(--line)}
.footer-wrap{min-height:70px;color:var(--muted);font-size:14px}
.footer-wrap nav{gap:18px}
@media(max-width:700px){.feature-grid,.steps-grid{grid-template-columns:1fr}.hero{padding:68px 0 55px}.steps-heading h2{font-size:28px}.nav-wrap,.footer-wrap{width:calc(100% - 28px)}.nav-wrap nav{gap:12px}.brand{font-size:17px}.brand-icon{width:36px;height:36px}.nav-cta{padding:8px 10px}.upload-form,.panel-head{align-items:stretch;flex-direction:column}.auth-card,.panel,.legal-card{padding:22px}.footer-wrap{align-items:flex-start;flex-direction:column;justify-content:center;gap:6px;padding:13px 0}.share-url{max-width:150px}}
.manager-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.manager-heading h1{margin-top:9px}
.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.stat-card{display:grid;gap:8px;margin:0}
.stat-card strong{font-size:38px;line-height:1.1;color:var(--primary)}
.stat-label{font-size:14px;color:var(--muted)}
.dashboard-folders{margin-top:20px}
.dashboard-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.dashboard-folder{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;color:var(--ink)}
.dashboard-folder:hover{background:#f8f8fb;text-decoration:none;border-color:#c9c9dd}
.dashboard-folder>span:nth-child(2){display:grid;gap:3px}
.dashboard-folder small{color:var(--muted)}
.folder-glyph{color:var(--accent);font-size:21px}
.folder-arrow{margin-left:auto;color:var(--muted)}
.upload-panel .panel-head{margin-bottom:14px}
.upload-panel .upload-form{display:block}
.upload-panel .panel-head h2{margin:0 0 4px}
.upload-modes{display:flex;gap:5px;width:max-content;padding:4px;border-radius:10px;background:#f1f1f6}
.upload-mode{border:0;border-radius:7px;padding:9px 14px;background:transparent;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}
.upload-mode.is-active{background:#fff;color:var(--primary);box-shadow:0 1px 4px #2727571a}
.upload-source{margin-top:14px}
.drop-zone{min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:24px;border:2px dashed #c8c8dc;border-radius:12px;background:#fafafd;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
.drop-zone:hover,.drop-zone.is-dragging{border-color:var(--accent);background:#f0f0f7}
.drop-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e9e9f2;color:var(--primary);font-size:25px;font-weight:700}
.drop-title{font-weight:700;font-size:18px}
.drop-help,.selected-file{color:var(--muted);font-size:14px}
.file-picker{padding:8px 13px;border:1px solid #d6d6e5;border-radius:7px;background:#fff;color:var(--primary);font-weight:600}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.visually-hidden:focus+.selected-file{outline:2px solid var(--accent)}
.field>span,.folder-select-label,.create-folder-form label,.folder-settings label{font-weight:600}
.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-table{min-width:760px}
.admin-actions,.admin-inline-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-inline-form select{min-height:38px;border:1px solid #d4d4e2;border-radius:7px;padding:6px 9px;background:#fff;font:inherit}
.admin-inline-form .button{min-height:38px;padding:8px 12px;font-size:14px}
.text-danger{border:0;padding:0;background:transparent;color:#9b3027;font:inherit;font-weight:600;cursor:pointer}
.text-danger:hover{text-decoration:none}
@media(max-width:700px){.admin-stats{grid-template-columns:1fr}}
.share-options-button{border:0;padding:0;background:transparent;color:var(--primary);font:inherit;font-weight:600;cursor:pointer}
.share-options-button:hover{text-decoration:none}
.share-dialog{width:min(480px,calc(100% - 28px));max-width:none;max-height:min(90vh,780px);padding:0;overflow-x:hidden;overflow-y:auto;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #0f0e4740;font:inherit}
.share-dialog::backdrop{background:#0f0e4770;backdrop-filter:blur(3px)}
.share-dialog-content{padding:24px}
.share-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.share-dialog-header .eyebrow{font-size:12px}
.share-dialog-header h2{margin:5px 0 0;overflow-wrap:anywhere;font-size:21px}
.share-dialog-close{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--muted);font-size:24px;line-height:1;cursor:pointer}
.share-link-copy{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#f8f8fb}
.share-link-copy>a{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:600}
.share-protection-status,.share-password-help{margin:10px 0 0;color:var(--muted);font-size:14px}
.share-password-form{display:grid;gap:8px;margin:18px 0 10px}
.share-password-form label{font-weight:600}
.share-password-form input{width:100%;min-height:44px;border:1px solid #d4d4e2;border-radius:8px;padding:9px 12px;font:inherit}
.share-password-form input:focus{outline:3px solid #dadae8;border-color:var(--accent)}
.share-password-form .button{justify-self:start;margin-top:3px}
.share-dialog-content>form:not(.share-password-form){margin:12px 0}
.folder-settings-dialog{width:min(560px,calc(100% - 28px))}
.folder-settings-dialog .share-dialog-content{min-width:0;padding:26px}
.folder-settings-dialog .share-dialog-header>div{min-width:0}
.folder-settings-dialog .folder-dialog-section{min-width:0}
.folder-settings-dialog .folder-dialog-section label{font-weight:600}
.folder-settings-dialog .folder-share-link-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.folder-settings-dialog .folder-dialog-section .folder-share-url{min-width:0;overflow-wrap:anywhere}
.folder-settings-dialog .folder-dialog-section .share-password-form input,.folder-settings-dialog .folder-dialog-section .folder-rename-form input{box-sizing:border-box}
.folder-settings-dialog .folder-dialog-section .folder-dialog-remove-password .text-danger,.folder-settings-dialog .folder-dialog-section .folder-dialog-delete-form .text-danger{justify-self:start}
@media(max-width:500px){.folder-settings-dialog .share-dialog-content{padding:20px}.folder-settings-dialog .folder-share-link-row{grid-template-columns:minmax(0,1fr)}.folder-settings-dialog .folder-share-link-row .copy-button{justify-self:start}}
@media(max-width:500px){.share-dialog-content{padding:18px}.share-link-copy{align-items:stretch;flex-direction:column}.share-link-copy .copy-button{align-self:flex-start}}
.upload-source .field{margin:0}
.upload-source .field input{margin-top:7px}
.upload-source>.muted{margin:7px 0}
.upload-controls{display:flex;align-items:center;gap:11px;margin-top:15px}
.folder-select-label{margin-right:2px}
.folder-select,.move-form select{min-height:42px;max-width:240px;padding:8px 32px 8px 10px;border:1px solid #d4d4e2;border-radius:8px;background:#fff;color:var(--ink);font:inherit}
.upload-controls .button{margin-left:auto}
.upload-progress{margin-top:18px}
.upload-progress-summary{margin-bottom:9px;color:var(--muted);font-size:14px;font-weight:600}
.upload-progress-list{display:grid;max-height:320px;gap:9px;overflow-y:auto}
.upload-progress-item{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:5px 9px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fbfbfd}
.upload-progress-item-head{display:flex;min-width:0;grid-column:1;align-items:center;justify-content:space-between;gap:12px}
.upload-progress-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}
.upload-progress-percent{flex:none;color:var(--muted);font-size:13px}
.upload-progress-item progress{display:block;grid-column:1;width:100%;height:8px;overflow:hidden;border:0;border-radius:99px;background:#ececf3;accent-color:var(--primary)}
.upload-progress-item progress::-webkit-progress-bar{border-radius:99px;background:#ececf3}
.upload-progress-item progress::-webkit-progress-value{border-radius:99px;background:var(--primary);transition:width .18s ease}
.upload-progress-item progress::-moz-progress-bar{border-radius:99px;background:var(--primary)}
.upload-progress-item.is-upload-complete progress::-webkit-progress-value,.upload-progress-item.is-upload-complete progress::-moz-progress-bar{background:#40866a}
.upload-progress-item.is-upload-failed progress::-webkit-progress-value,.upload-progress-item.is-upload-canceled progress::-webkit-progress-value{background:#a9a9bf}
.upload-progress-item.is-upload-failed progress::-moz-progress-bar,.upload-progress-item.is-upload-canceled progress::-moz-progress-bar{background:#a9a9bf}
.upload-cancel{display:grid;grid-column:2;grid-row:1 / span 2;width:32px;height:32px;place-items:center;border:1px solid #e9dada;border-radius:50%;background:#fff;color:#9b3027;font:600 22px/1 "Josefin Sans",sans-serif;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.upload-cancel:hover:not(:disabled){border-color:#9b3027;background:#fff1ef}
.upload-cancel:disabled{border-color:transparent;background:transparent;color:var(--accent);cursor:default}
.upload-error{margin:14px 0 0;padding:11px 13px;border-radius:8px;background:#fff1ef;color:#9b3027}
.upload-progress[hidden],.upload-error[hidden],.upload-result[hidden]{display:none!important}
.upload-result{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px;padding:12px;border:1px solid #d8d8e7;border-radius:9px;background:#f8f8fb}
.upload-result-entry{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%}
.upload-result-error{width:100%;margin:0;color:#9b3027}
.result-link{max-width:100%;overflow-wrap:anywhere}
.manager-layout{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);align-items:start;gap:18px;margin-top:18px}
.folder-panel,.files-panel{min-width:0;margin:0}
.folder-list{display:grid;gap:4px}
.folder-link{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:8px;color:var(--muted)}
.folder-link:hover,.folder-link.is-current{background:#f0f0f6;color:var(--primary);text-decoration:none}
.folder-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.create-folder-form,.folder-settings form{display:grid;gap:9px;margin-top:18px}
.create-folder-form input,.folder-settings input{min-height:40px;padding:9px 10px;border:1px solid #d4d4e2;border-radius:8px;font:inherit}
.create-folder-form .button,.folder-settings .button{min-height:40px;padding:8px 12px}
.folder-settings{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.folder-settings summary{color:var(--muted);font-weight:600;cursor:pointer}
.text-danger{justify-self:start;border:0;padding:5px 0;background:none;color:#a13b3b;font:inherit;cursor:pointer}
.api-keys-head{align-items:flex-start}
.api-keys-head>div{min-width:0}
.api-keys-head .muted{display:block;margin-top:5px}
.api-keys-head p{margin:7px 0 0}
.api-key-table{min-width:650px}
.api-key-table td{vertical-align:middle}
.api-key-table td code{overflow-wrap:anywhere}
.api-key-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.api-key-actions form{margin:0}
.api-key-actions .button{min-height:36px;padding:7px 12px;font-size:14px}
.api-key-delete{border-color:#f0caca;background:#fff5f4;color:#9b3027}
.api-key-delete:hover{background:#ffe9e7}
.api-new-key{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.api-new-key strong{flex-basis:100%}
.api-new-key code{max-width:100%;overflow-wrap:anywhere}
@media(max-width:700px){.api-keys-head{align-items:stretch}.api-keys-head form,.api-keys-head form .button{width:100%}.api-key-actions{align-items:stretch}.api-key-actions form,.api-key-actions .button{flex:1}}
.empty-state{display:grid;justify-items:center;padding:35px 12px;text-align:center}
.empty-state h3{margin:10px 0 3px}
.empty-state p{max-width:420px;margin:4px 0 17px;color:var(--muted)}
.empty-icon{font-size:34px;color:var(--accent)}
.manager-table{min-width:800px}
.manager-table td{vertical-align:middle}
.move-form{margin:0}
.move-form select{min-height:34px;max-width:150px;padding:5px 25px 5px 7px;font-size:13px}
.manager-table .share-row{gap:5px}
.manager-table .share-url{max-width:110px}
.manager-table .copy-button{white-space:nowrap}
@media(max-width:800px){.manager-layout{grid-template-columns:1fr}.folder-panel{order:0}.files-panel{order:1}.folder-list{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}}
@media(max-width:600px){.manager-heading{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr}.upload-controls{align-items:stretch;flex-direction:column}.folder-select{max-width:none}.upload-controls .button{margin-left:0}.drop-zone{min-height:180px}.upload-modes{width:100%}.upload-mode{flex:1;padding:9px 8px;font-size:14px}.upload-result{align-items:flex-start;flex-direction:column}}
.public-nav-toggle{display:none}
@media(max-width:700px){
    .nav-wrap{position:relative;height:68px;flex-wrap:nowrap;gap:12px}
    .nav-wrap nav{position:absolute;z-index:25;top:calc(100% + 1px);right:0;left:0;display:none;align-items:stretch;gap:0;padding:8px;border:1px solid var(--line);border-radius:0 0 12px 12px;background:#fff;box-shadow:0 14px 28px #0f0e4718}
    .site-header[data-mobile-nav-open] .nav-wrap nav{display:flex;flex-direction:column}
    .nav-wrap nav>a,.nav-wrap nav>.nav-form{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:8px}
    .nav-wrap nav>a:hover{background:#f0f0f6}
    .nav-wrap nav .nav-secondary{display:none}
    .site-header[data-mobile-nav-open] .nav-wrap nav .nav-secondary.nav-files,.site-header[data-mobile-nav-open] .nav-wrap nav .nav-secondary.nav-logout{display:flex}
    .nav-wrap nav>.nav-form{margin:0}
    .nav-wrap nav>.nav-form .nav-button{width:100%;text-align:left}
    .nav-wrap nav>a.nav-cta{justify-content:center;margin-top:4px;background:var(--primary);color:#fff}
    .public-nav-toggle{display:grid;flex:0 0 42px;gap:5px;width:42px;height:42px;align-content:center;justify-items:center;margin-left:auto;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}
    .public-nav-toggle span{display:block;width:19px;height:2px;border-radius:2px;background:var(--primary);transition:transform .18s ease,opacity .18s ease}
    .site-header[data-mobile-nav-open] .public-nav-toggle span:first-child{transform:translateY(7px) rotate(45deg)}
    .site-header[data-mobile-nav-open] .public-nav-toggle span:nth-child(2){opacity:0}
    .site-header[data-mobile-nav-open] .public-nav-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}
    .brand{font-size:17px}.brand-icon{width:36px;height:36px}.nav-cta{padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){.public-nav-toggle span{transition:none}}
.dashboard-app{display:block;min-width:320px}
.dashboard-shell{min-height:100vh}
.dashboard-sidebar{position:fixed;z-index:30;inset:0 auto 0 0;display:flex;width:264px;flex-direction:column;padding:24px 16px;background:#fff;border-right:1px solid var(--line)}
.dashboard-brand{padding:0 8px 26px;font-size:19px}
.sidebar-label{padding:0 12px 9px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.sidebar-nav{display:grid;gap:5px}
.sidebar-link{display:flex;align-items:center;gap:13px;width:100%;min-height:46px;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-weight:600;text-align:left}
.sidebar-nav .sidebar-link:hover,.sidebar-link.is-current{background:#f0f0f6;color:var(--primary);text-decoration:none}
.sidebar-link i{width:19px;text-align:center}
.sidebar-account{margin-top:auto;padding-top:15px;border-top:1px solid var(--line)}
.sidebar-user{display:grid;gap:2px;padding:0 12px 12px}
.sidebar-user strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-user span{color:var(--muted);font-size:14px}
.sidebar-logout{margin:0}
.sidebar-logout .sidebar-link{cursor:pointer}
.dashboard-main{display:flex;min-height:100vh;min-width:0;margin-left:264px;flex-direction:column}
.dashboard-main>.dashboard{width:min(1100px,calc(100% - 48px));margin-right:auto;margin-left:auto}
.dashboard-main>.dashboard-footer{width:100%;margin-top:auto}
.dashboard-topbar{display:none}
.sidebar-backdrop{display:none}
@media(max-width:900px){
    .dashboard-sidebar{width:min(290px,calc(100vw - 52px));box-shadow:12px 0 35px #0f0e4724;transform:translateX(-105%);transition:transform .22s ease,visibility 0s linear .22s;visibility:hidden}
    body[data-sidebar-open]{overflow:hidden}
    body[data-sidebar-open] .dashboard-sidebar{transform:translateX(0);transition-delay:0s;visibility:visible}
    .dashboard-main{margin-left:0}
    .dashboard-topbar{position:sticky;top:0;z-index:20;display:flex;min-height:64px;align-items:center;gap:14px;padding:8px 20px;background:#fff;border-bottom:1px solid var(--line)}
    .sidebar-toggle{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--primary);font-size:18px;cursor:pointer}
    .dashboard-mobile-brand{font-size:18px}
    .dashboard-mobile-brand .brand-icon{width:36px;height:36px}
    .sidebar-backdrop{position:fixed;z-index:29;inset:0;width:100%;height:100%;border:0;background:#0f0e4770}
    body[data-sidebar-open] .sidebar-backdrop{display:block}
    .dashboard-main>.dashboard{width:calc(100% - 36px)}
}
@media(prefers-reduced-motion:reduce){.dashboard-sidebar{transition:none}}
.pricing-page,.checkout-page{padding-bottom:64px}
.pricing-heading{max-width:700px}
.pricing-heading h1,.checkout-page .page-heading h1{font-size:clamp(38px,6vw,54px)}
.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px}
.pricing-card{position:relative;display:flex;min-width:0;flex-direction:column;margin:0;padding:24px}
.pricing-card h2{margin:4px 0 8px;font-size:25px}
.plan-price{display:flex;align-items:baseline;gap:6px;margin:0;padding:0 0 18px;border-bottom:1px solid var(--line)}
.plan-price strong{font-size:32px;letter-spacing:-.04em}
.plan-price span{color:var(--muted)}
.plan-features{display:grid;gap:12px;margin:20px 0 24px;padding:0;list-style:none}
.plan-features li:before{content:"✓";margin-right:9px;color:var(--primary);font-weight:700}
.plan-button{width:100%;margin-top:auto}
.pricing-card.is-featured{border-color:var(--primary);box-shadow:0 8px 30px #27275715}
.plan-badge{align-self:flex-start;margin-bottom:8px;padding:4px 9px;border-radius:99px;background:#ededf4;color:var(--primary);font-size:12px;font-weight:700}
.checkout-card{max-width:720px;margin-top:0}
.checkout-card h2{margin-top:0}
.payment-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.payment-method-grid form,.payment-method-button{width:100%}
.payment-order-summary{display:grid;gap:4px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.payment-order-summary strong{font-size:28px}
.upi-qr{display:block;width:240px;height:240px;max-width:100%;margin:18px auto;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff}
.qr-disclosure{text-align:center;font-size:12px}
.upi-app-links{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}
.payment-claim-button{gap:10px}
.payment-claim-button:disabled{cursor:not-allowed;opacity:.62}
.claim-countdown{display:inline-grid;min-width:2.5em;place-items:center;padding:3px 7px;border-radius:99px;background:#ffffff2b;font-size:13px;font-variant-numeric:tabular-nums}
.payment-claim-button:disabled .claim-countdown{background:#fff;color:var(--primary)}
.payment-claim-button.is-ready .claim-countdown{display:none}
.payment-dialog{width:min(440px,calc(100% - 32px));padding:28px;border:1px solid var(--line);border-radius:16px;color:var(--ink);font:inherit}
.payment-dialog::backdrop{background:#0f0e4780}
.payment-dialog h2{margin:12px 0}
.payment-dialog-amount{font-size:42px;font-weight:700;color:var(--primary)}
.payment-dialog-close{position:absolute;top:12px;right:12px}
.dialog-close{width:36px;height:36px;border:0;border-radius:50%;background:#f0f0f6;color:var(--ink);font-size:24px;cursor:pointer}
.current-plan-card{display:flex;align-items:center;justify-content:space-between;gap:20px}
.current-plan-card h2{margin:6px 0}
.current-plan-card p{margin:0}
.api-docs pre{max-width:100%;overflow:auto;margin:12px 0 22px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#f7f7fb;color:var(--ink);font-size:13px;line-height:1.6}
.api-docs pre code{white-space:pre}
@media(max-width:950px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pricing-grid,.payment-method-grid{grid-template-columns:1fr}.pricing-card{padding:22px}.current-plan-card{align-items:flex-start;flex-direction:column}.upi-app-links .button{flex:1 1 40%;padding-inline:10px}}
.admin-plan-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:14px}
.admin-plan-form .field{margin:0}
.admin-plan-form input,.admin-plan-form select{width:100%;min-height:42px;border:1px solid #d4d4e2;border-radius:8px;padding:8px 12px;background:#fff;color:var(--ink);font:inherit}
.admin-plan-form .button{min-height:42px}
.panel>.admin-plan-form+p{margin:12px 0 0}
@media(max-width:700px){.admin-plan-form{grid-template-columns:1fr}}
.admin-user-plan-form{display:grid;gap:8px;min-width:185px}
.admin-user-plan-form select{min-height:36px;border:1px solid #d4d4e2;border-radius:7px;padding:6px 9px;background:#fff;color:var(--ink);font:inherit}
.admin-user-plan-form .button{min-height:36px;padding:7px 10px;font-size:14px}
.admin-remove-plan-form{margin-top:9px}
.admin-user-details{margin-top:5px;color:var(--muted);font-size:13px}
.admin-user-details summary{cursor:pointer;color:var(--primary);font-weight:600}
.admin-user-details span{overflow-wrap:anywhere}
.remember-me{display:flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--muted);font-size:14px}
.remember-me input{width:15px;height:15px;margin:0;accent-color:var(--primary)}
