:root{color-scheme:light;--bg:#f6f7fb;--surface:#fff;--sidebar:#edf0f6;--text:#253046;--muted:#647188;--line:#e0e5ee;--primary:#5269d8;--primary-hover:#4058c6;--soft:#e6ebff;--accent-text:#344eb3;--green:#27734c;--red:#aa3541;--shadow:0 22px 70px #17244525;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}
:root[data-theme=dark]{color-scheme:dark;--bg:#161a22;--surface:#202631;--sidebar:#1c212b;--text:#ecf0f8;--muted:#a6b1c4;--line:#363e4d;--primary:#778aec;--primary-hover:#8b9af0;--soft:#303e65;--accent-text:#ced7ff;--green:#90d2aa;--red:#ffabb4;--shadow:0 22px 70px #0005}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}input:focus,select:focus{outline:2px solid var(--primary);outline-offset:2px}[hidden]{display:none!important}svg{width:18px;height:18px;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.18;letter-spacing:-1px;font-weight:600;margin-bottom:9px}h2{font-size:22px;line-height:1.3;letter-spacing:-.4px;font-weight:600;margin-bottom:8px}h3{font-size:15px;font-weight:600}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:11px;letter-spacing:1.15px;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:10px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:10px;text-decoration:none;border:1px solid transparent;white-space:nowrap;font-weight:500;min-height:42px}.primary{background:var(--primary);color:#fff}.primary:hover{background:var(--primary-hover)}.secondary{background:var(--surface);border-color:var(--line)}.secondary:hover{border-color:var(--primary)}.icon-button{border:0;background:transparent;border-radius:8px;width:36px;height:36px;display:inline-grid;place-items:center;color:var(--muted);flex-shrink:0}.icon-button:hover{background:var(--soft);color:var(--accent-text)}.text-button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--muted);padding:9px;border-radius:8px}.text-button:hover{background:var(--soft);color:var(--accent-text)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:216px minmax(0,1fr)}.sidebar{background:var(--sidebar);padding:26px 16px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;justify-content:center;margin:0 8px 34px;min-height:62px}.brand-logo{display:block;width:160px;max-width:100%;height:auto;object-fit:contain}:root[data-theme=dark] .brand-logo{background:#fff;padding:9px;border-radius:8px}.sidebar>.eyebrow{padding-left:12px}#navigation{display:flex;flex-direction:column;gap:5px}.nav-item{width:100%;text-align:left;display:flex;align-items:center;gap:11px;background:none;border:0;border-radius:10px;padding:12px 11px;color:var(--muted)}.nav-item[aria-pressed=true]{background:var(--soft);color:var(--accent-text);font-weight:600}.nav-item:hover{background:var(--soft)}.nav-dot{width:6px;height:6px;border-radius:50%;background:var(--green);margin-left:auto;flex-shrink:0}.nav-dot.offline{background:var(--red)}.sidebar-bottom{margin-top:auto;padding-top:26px}.sidebar-action{display:flex;gap:10px;width:100%;border:0;background:none;padding:11px 12px;border-radius:9px;text-align:left;color:var(--muted);font-size:13px}.sidebar-action:hover{background:var(--soft)}.user-row{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);margin-top:15px;padding:20px 4px 0;min-width:0}.user-row>div{min-width:0;flex:1}.user-row strong{font-size:12px;font-weight:500;display:block;overflow-wrap:anywhere}.user-row small{display:block;font-size:11px;color:var(--muted)}.avatar{width:31px;height:31px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:12px;flex-shrink:0}
.workspace{min-width:0}.topbar{height:70px;padding:0 36px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.topbar-caption,.topbar-right{display:flex;align-items:center;gap:10px}.topbar-caption{font-size:12px;color:var(--muted)}.badge{font-size:11px;color:var(--accent-text);background:var(--soft);padding:5px 9px;border-radius:20px;white-space:nowrap}main{padding:34px 36px 26px;max-width:1500px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px}.page-heading>div:first-child{min-width:0}.page-heading h1{overflow-wrap:anywhere}.page-heading p:last-child{font-size:13px;margin-bottom:0}.page-actions{display:flex;gap:9px;flex-wrap:wrap;flex-shrink:0}.searchbar{display:flex;align-items:center;gap:12px;background:var(--surface);padding:10px 12px 10px 17px;border:1px solid var(--line);border-radius:13px;margin-bottom:23px;box-shadow:0 3px 10px #1d2f4a03}.searchbar>svg{color:var(--muted)}.searchbar input{background:none;border:none;outline:none;color:var(--text);width:100%;min-width:0;height:28px}.searchbar:focus-within{border-color:var(--primary)}.ai-toggle{display:flex;align-items:center;gap:7px;background:var(--bg);color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:7px 10px;white-space:nowrap;font-size:12px}.ai-toggle[aria-pressed=true]{background:var(--soft);color:var(--accent-text);border-color:var(--primary)}.search-submit{display:grid;place-items:center;border:0;background:transparent;color:var(--muted);border-radius:7px;padding:7px}.search-note{font-size:12px;color:var(--muted);margin:-10px 0 20px;background:var(--soft);padding:10px 13px;border-radius:8px}.breadcrumbs{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:20px;color:var(--muted);font-size:12px}.breadcrumbs button{background:none;border:0;color:inherit;padding:3px 4px;max-width:100%;text-align:left;overflow-wrap:anywhere;border-radius:5px}.breadcrumbs button:hover{background:var(--soft);color:var(--accent-text)}.breadcrumbs svg{width:13px;height:13px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px;font-size:12px;color:var(--muted)}.list-heading>div{display:flex;align-items:center;gap:5px}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:13px}.file-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;min-width:0;transition:border-color .15s}.file-card:hover{border-color:var(--primary)}.file-main{display:flex;text-align:left;align-items:flex-start;gap:12px;padding:18px 17px 13px;border:0;background:none;width:100%;flex:1}.file-icon{background:var(--sidebar);width:37px;height:37px;border-radius:10px;display:grid;place-items:center;color:var(--muted);flex-shrink:0}.file-icon.company{background:var(--soft);color:var(--accent-text)}.file-title{font-weight:500;line-height:1.45;overflow-wrap:anywhere}.file-caption{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5;overflow-wrap:anywhere}.file-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:7px 10px 7px 17px;font-size:11px;color:var(--muted)}.file-actions .icon-button{width:29px;height:29px}.file-actions>div{display:flex;gap:3px}.file-type{overflow-wrap:anywhere;min-width:0;padding-right:6px}.empty-state{grid-column:1/-1;padding:48px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.empty-state svg{width:34px;height:34px;margin-bottom:11px}.empty-state h2{font-size:18px;color:var(--text)}.footer-note{margin:24px 0 0;font-size:11px;color:var(--muted)}.drop-zone{position:fixed;inset:14px;z-index:30;border:2px dashed var(--primary);border-radius:20px;background:var(--surface);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;color:var(--accent-text);box-shadow:var(--shadow);pointer-events:none;font-size:20px}.drop-zone svg{width:50px;height:50px}
.login-screen{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:32px 20px;background:#f7f9fc;width:100%;max-width:none;margin:0;color:#202530}.login-card{width:360px;max-width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 12px;background:transparent;border:0;border-radius:0;box-shadow:none}.epac-logo{width:240px;max-width:84%;height:auto;object-fit:contain;display:block;margin:0 0 42px}.login-card h1{font-size:30px;font-weight:500;letter-spacing:-.6px;margin:0 0 28px;line-height:1.2}.google-login{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;width:264px;max-width:100%;padding:12px;border:1px solid #747775;border-radius:8px;background:#fff;color:#1f1f1f;font-size:14px;font-weight:500;transition:background .15s,box-shadow .15s}.google-login:hover{background:#f2f6fc;box-shadow:0 2px 7px #243e6210}.google-login img{width:20px;height:20px;object-fit:contain;flex-shrink:0}.google-login:focus-visible{outline:3px solid #277aba;outline-offset:4px}.login-card .error,.login-status{font-size:13px;line-height:1.6;max-width:320px;margin:20px 0 0}.login-status{color:#596575}.login-card .error{color:#a3313b}@media(max-width:380px){.epac-logo{width:215px;margin-bottom:36px}.login-screen{padding:20px 16px}.login-card h1{font-size:28px}}@media(max-height:480px){.login-screen{min-height:100svh;padding:20px}.epac-logo{width:175px;margin-bottom:22px}.login-card h1{margin-bottom:20px}}
dialog{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:26px;max-width:calc(100vw - 30px);max-height:calc(100vh - 40px)}dialog::backdrop{background:#16213675;backdrop-filter:blur(3px)}.operation-dialog{width:590px}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.dialog-heading .eyebrow{margin-bottom:4px}.dialog-heading h2{margin:0}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;border-top:1px solid var(--line);padding-top:19px}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:500;margin-bottom:17px}input,select{width:100%;padding:11px 12px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:9px;min-width:0}.two-fields{display:grid;grid-template-columns:145px minmax(0,1fr);gap:13px}.plan-preview{background:var(--bg);border:1px solid var(--line);padding:17px;border-radius:12px;margin-top:18px;overflow-wrap:anywhere}.plan-preview p{font-size:12px;margin-bottom:12px}.plan-preview ul{padding-left:20px;font-size:12px;margin:10px 0}.plan-warning{color:var(--muted);padding-top:12px;border-top:1px solid var(--line)}.error{color:var(--red);font-size:12px;margin:12px 0 0;overflow-wrap:anywhere}.error:empty{display:none}.preview-dialog{width:1030px;padding:0}.preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 26px;border-bottom:1px solid var(--line)}.preview-heading>div:first-child{min-width:0}.preview-heading h2{font-size:18px;overflow-wrap:anywhere;margin:5px 0}.preview-heading p{margin-bottom:0;overflow-wrap:anywhere}.preview-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}#preview-content{min-height:300px;max-height:65vh;overflow:auto}#preview-content iframe{border:0;width:100%;height:62vh;display:block;background:var(--bg)}#preview-content img{display:block;max-width:100%;max-height:62vh;object-fit:contain;margin:auto;padding:20px}#preview-content pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace;padding:24px;margin:0}#preview-content table{border-collapse:collapse;margin:16px;font-size:12px}#preview-content td{padding:8px 11px;border:1px solid var(--line);white-space:pre-wrap;max-width:250px;overflow-wrap:anywhere}.sheet-title{padding:15px 16px 0;font-size:13px;font-weight:600}.preview-note{font-size:11px;color:var(--muted);padding:10px 26px;margin:0;background:var(--bg)}.settings-dialog{width:650px}.settings-section{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.settings-section p{font-size:13px}.volume-setting{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;padding:9px 0;flex-wrap:wrap}.settings-actions{display:flex;gap:10px;flex-wrap:wrap}.audit-row{border-top:1px solid var(--line);font-size:11px;padding:10px 0;overflow-wrap:anywhere}.grant-row{display:grid;grid-template-columns:1fr 150px;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.grant-prefix{grid-column:1/-1}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--surface);padding:12px 20px;border-radius:12px;box-shadow:var(--shadow);max-width:calc(100vw - 30px);z-index:100;font-size:13px;text-align:center}
.file-title,.file-caption{display:block}
.pdf-toolbar{display:flex;align-items:center;justify-content:center;gap:15px;padding:12px;background:var(--bg);position:sticky;top:0}.pdf-toolbar .button{font-size:12px;padding:7px 10px;min-height:34px}.pdf-counter{font-size:12px;color:var(--muted)}.pdf-page{background:var(--sidebar);padding:24px;overflow:auto}.pdf-page canvas{display:block;margin:auto;max-width:100%;box-shadow:0 3px 20px #0002}
@media(min-width:1400px){main{padding:40px 48px}.topbar{padding:0 48px}.app-shell{grid-template-columns:232px minmax(0,1fr)}}
@media(max-width:1000px){.page-heading{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.topbar{padding:0 24px}main{padding:28px 24px}.app-shell{grid-template-columns:192px minmax(0,1fr)}.sidebar{padding-left:10px;padding-right:10px}.brand-logo{width:150px}.topbar-caption{display:none}}
@media(max-width:700px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:16px 15px 10px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0 5px 15px;justify-content:flex-start;min-height:52px}.brand-logo{width:140px}.sidebar>.eyebrow{display:none}#navigation{flex-direction:row;flex-wrap:wrap;gap:4px}.nav-item{width:auto;padding:9px;font-size:12px;gap:6px}.nav-dot{display:none}.sidebar-bottom{display:flex;padding:8px 0 0;gap:8px;align-items:center}.sidebar-action{width:auto;padding:8px;font-size:11px}.user-row{margin:0 0 0 auto;padding:0;border:0}.avatar,.user-row>div{display:none}.topbar{height:46px;padding:0 19px;justify-content:flex-end}main{padding:24px 18px}h1{font-size:27px}.page-heading{gap:15px;margin-bottom:20px}.file-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.searchbar{gap:8px;padding-left:12px}.searchbar input{font-size:13px}.ai-toggle{font-size:11px;padding:6px}.ai-toggle svg{display:none}.page-actions .button{padding:10px 12px;font-size:12px}.text-button{font-size:11px}dialog{padding:20px}.preview-dialog{padding:0}.preview-heading{flex-direction:column;padding:18px}.preview-actions{width:100%;justify-content:space-between}.two-fields,.grant-row{grid-template-columns:1fr}.grant-prefix{grid-column:auto}.login-card{padding:28px}}
@media(pointer:coarse){input,select,.searchbar input{font-size:16px}.icon-button,.text-button,.nav-item{min-height:44px}.file-actions .icon-button{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.native-edit-button{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--accent-soft,var(--bg));color:var(--accent,var(--text));font-size:11px;cursor:pointer}.native-edit-button:disabled{opacity:.5}.native-folder{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:14px 0}.native-folder>div{min-width:0}.native-folder strong,.native-folder span{display:block;overflow-wrap:anywhere}.native-folder strong{font-size:13px}.native-folder .button{flex-shrink:0;font-size:12px}.preview-actions{flex-wrap:wrap}

.file-card.selected{outline:2px solid var(--accent,#5269d8);outline-offset:1px}

.native-copy-actions{display:flex;gap:7px;flex-wrap:wrap}.native-edit-button{background:var(--soft);color:var(--accent-text)}.file-card.selected{outline-color:var(--primary)}
.file-card{position:relative}.selection-check{position:absolute;top:10px;right:10px;width:17px;height:17px;padding:0;margin:0;accent-color:var(--primary);cursor:pointer}.file-card:has(.selection-check) .file-main{padding-right:35px}.file-card[draggable=true]{cursor:grab}.file-card.drop-target{outline:3px solid var(--primary);background:var(--soft)}.drop-zone{inset:auto 20px 24px auto;width:auto;max-width:calc(100vw - 40px);padding:18px 24px;font-size:15px;border-radius:12px;flex-direction:row;background:var(--surface)}.drop-zone svg{width:24px;height:24px}.selection-info{font-size:11px;color:var(--accent-text);margin-left:auto;margin-right:8px}.list-heading{flex-wrap:wrap}.prefix-changes{max-height:45vh;overflow:auto}.prefix-change{padding:12px 0;border-top:1px solid var(--line);overflow-wrap:anywhere;font-size:12px}.prefix-change span,.prefix-change strong,.prefix-change small{display:block}.prefix-change span,.prefix-change small{color:var(--muted)}.prefix-change strong{margin-top:4px}.check-label{display:flex;flex-direction:row;align-items:flex-start;margin-top:18px;line-height:1.5}.check-label input{width:18px;height:18px;flex-shrink:0}

.file-actions>div{flex-wrap:wrap;justify-content:flex-end;min-width:0}

.file-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.file-caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.file-type{white-space:nowrap;flex-shrink:0;overflow-wrap:normal}.file-actions{gap:4px;padding-left:12px}@media(max-width:320px){.file-grid{grid-template-columns:minmax(0,1fr)}}
@font-face{font-family:'Google Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/google-sans-medium.ttf') format('truetype')}.google-login{font-family:'Google Sans',Arial,sans-serif;line-height:20px}

/* Shared layout: keep long paths and small view heights inside their containers. */
.sidebar{height:100dvh;overflow:auto}
.sidebar-panel{display:flex;flex-direction:column;flex:1;min-height:0}
.sidebar-panel>.eyebrow{padding-left:12px}
.navigation-toggle{display:none}
.login-screen{grid-template-columns:minmax(0,1fr);padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.login-card{width:100%;max-width:360px;min-width:0;justify-self:center}
.file-main>span:last-child{min-width:0}
.selection-target{position:absolute;top:3px;right:3px;display:grid;place-items:center;width:44px;height:44px;margin:0;z-index:1;cursor:pointer}
.selection-check{position:static;width:20px;height:20px}
.file-card:has(.selection-check) .file-main{padding-right:48px}
.muted,.footer-note,.toast,.dialog-heading h2{overflow-wrap:anywhere}
.toast{bottom:max(16px,env(safe-area-inset-bottom));width:max-content}
dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
body:has(dialog[open]){overflow:hidden}
.operation-dialog{padding:0}
.operation-dialog[open]{display:flex;flex-direction:column}
#operation-form{display:flex;flex-direction:column;min-height:0;max-height:inherit}
#operation-form>.dialog-heading{flex-shrink:0;padding:22px 26px 12px;margin:0}
.operation-body{overflow:auto;min-height:0;padding:0 26px;overscroll-behavior:contain}
#operation-form>.dialog-footer{flex-shrink:0;margin:18px 0 0;padding:18px 26px}
.preview-dialog[open]{display:flex;flex-direction:column;height:min(850px,calc(100dvh - 32px))}
.preview-heading{flex-shrink:0}
.preview-note{flex-shrink:0;max-height:20dvh;overflow:auto}
#preview-content{flex:1;min-height:0;max-height:none;overscroll-behavior:contain}
#preview-content iframe{height:100%}
#preview-content img{max-height:100%;padding:16px}
.pdf-page canvas{height:auto!important}
.pdf-toolbar{z-index:1}
.search-submit,.ai-toggle{flex-shrink:0}
.settings-dialog>.dialog-heading{position:sticky;top:-26px;background:var(--surface);z-index:2;padding:12px 0;margin-top:-12px}
.native-folder{flex-wrap:wrap}

@media(max-width:1366px),(pointer:coarse){
  .button,.text-button,.nav-item,.sidebar-action,.native-edit-button{min-height:44px}
  .icon-button,.file-actions .icon-button,.search-submit{width:44px;height:44px;min-height:44px}
  .breadcrumbs button{min-height:44px;min-width:44px}
  .ai-toggle{min-height:44px}
  input,select,.searchbar input{font-size:16px;min-height:44px}
  .file-actions{flex-wrap:wrap;gap:8px}
  .file-actions>div{gap:4px;margin-left:auto}
  .file-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
  .pdf-toolbar .button{min-height:44px}
  .file-title{font-size:14px}.file-caption,.file-type,.footer-note{font-size:12px}
}
@media(max-width:700px),(max-height:500px) and (max-width:1000px){
  .sidebar{height:auto;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));overflow:visible}
  .brand{justify-content:space-between;gap:16px;margin:0;min-height:48px}
  .brand-logo{width:125px}
  .navigation-toggle{display:inline-flex;font-size:14px}
  .navigation-toggle[aria-expanded=true]{background:var(--soft);border-color:var(--primary)}
  .sidebar-panel{display:none;padding-top:12px}
  .navigation-open .sidebar-panel{display:flex}
  .sidebar-panel>.eyebrow{display:none}
  #navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .nav-item{width:100%;font-size:13px;white-space:normal;overflow-wrap:anywhere;padding:10px}
  .nav-item>span{min-width:0}
  .nav-dot,.avatar,.user-row>div{display:none}
  .sidebar-bottom{display:flex;flex-wrap:wrap;margin-top:12px;padding-top:8px;border-top:1px solid var(--line);gap:6px}
  .sidebar-action{flex:1 1 auto;font-size:12px;padding:8px;align-items:center}
  .user-row{margin:0 0 0 auto;padding:0;border:0}
  .topbar{height:48px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}
  .workspace>main{padding:20px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
  .page-heading{gap:14px;margin-bottom:18px}
  .page-heading h1{font-size:26px;letter-spacing:-.5px}
  .page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .page-actions .button{font-size:13px;padding:10px 8px;white-space:normal}
  .searchbar{display:grid;grid-template-columns:18px minmax(0,1fr) 44px;gap:8px;padding:8px 10px;margin-bottom:16px}
  .searchbar input{grid-column:2;grid-row:1;padding:4px 0}
  .search-submit{grid-column:3;grid-row:1}
  .ai-toggle{grid-column:2/4;grid-row:2;justify-self:start;font-size:12px;padding:8px 12px}
  .ai-toggle svg{display:block}
  .breadcrumbs{gap:2px;margin-bottom:12px;line-height:1.5}
  .breadcrumbs button{padding:8px 6px}
  .list-heading{font-size:12px;gap:4px}
  .list-heading>div{margin-left:auto;flex-wrap:wrap;min-width:0}
  .text-button{font-size:12px;text-align:left}
  .file-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px}
  .file-main{padding:16px 14px;gap:10px}
  .file-actions{padding:6px 10px}
  .file-caption{-webkit-line-clamp:3}
  dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:18px}
  .operation-dialog,.preview-dialog{padding:0}
  #operation-form>.dialog-heading{padding:16px 18px 12px}
  .operation-body{padding:0 18px}
  #operation-form>.dialog-footer{padding:12px 18px;margin-top:12px;gap:8px;flex-wrap:wrap}
  .dialog-footer .button{white-space:normal}
  .preview-dialog[open]{height:calc(100dvh - 24px)}
  .preview-heading{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;padding:14px 16px}
  .preview-heading>div:first-child{grid-column:1/-1;padding-right:44px}
  .preview-actions{display:flex;grid-column:1/-1;gap:8px;justify-content:flex-start}
  .preview-actions .close-dialog{position:absolute;top:12px;right:12px}
  .preview-heading h2{font-size:16px;line-height:1.4}
  #preview-path{max-height:4.5em;overflow:auto;line-height:1.5}
  .preview-note{padding:10px 16px}
  #preview-content pre{padding:16px}
  .pdf-page{padding:12px}
  .pdf-toolbar{gap:8px;padding:8px}
  .pdf-toolbar .button{padding:8px;font-size:12px}
  .pdf-counter{font-size:11px;text-align:center}
  .settings-dialog>.dialog-heading{top:-18px}
  .drop-zone{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:none;padding:14px;font-size:14px}
}
@media(max-height:500px) and (max-width:1000px){
  .preview-heading{padding:10px 16px;gap:8px}
  .preview-heading h2{font-size:15px;margin:2px 0}
  #preview-path{max-height:3em;line-height:1.5}
  .preview-actions{gap:6px}
  .preview-note{padding:6px 16px;max-height:15dvh}
  .sidebar{padding-top:12px;padding-bottom:12px}
}
.permissions-table{overflow-x:auto;max-width:100%}.permissions-table table{border-collapse:collapse;font-size:.875rem;width:100%}.permissions-table td,.permissions-table th{padding:10px;text-align:left;border-bottom:1px solid var(--border,#e1e5ec);white-space:nowrap}#permissions-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto}#permissions-dialog summary{min-height:44px;display:flex;align-items:center;cursor:pointer}#permissions-dialog .check-label{align-items:flex-start}
.startup-intro{position:fixed;inset:0;z-index:1000;background:#01040d;display:grid;place-items:center;overflow:hidden}.startup-intro[hidden]{display:none}.startup-intro video{width:100%;height:100%;object-fit:cover}.intro-skip{position:absolute;right:max(20px,env(safe-area-inset-right));top:max(20px,env(safe-area-inset-top));min-width:72px;min-height:44px;padding:10px 20px;border:1px solid #ffffff65;border-radius:24px;background:#172034c9;color:white;font:600 15px system-ui;cursor:pointer}.intro-skip:focus-visible{outline:3px solid white;outline-offset:3px}.intro-active{overflow:hidden}.intro-reveal .login-card{animation:epac-reveal .35s ease-out}@keyframes epac-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.intro-reveal .login-card{animation:none}}

/* User management uses the same touch targets and dialog rhythm as the archive. */
.account-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.account-row>div{min-width:0;overflow-wrap:anywhere}.account-row p{margin:4px 0}.account-row .button{flex-shrink:0;min-height:44px}
#account-form{padding:24px;min-width:0}
#trash-plan-dialog{padding:24px}
.check-label{min-height:44px;align-items:center}
.check-label input{min-height:18px;margin:0}
@media(max-width:700px),(max-height:500px) and (max-width:1000px){#account-form,#trash-plan-dialog{padding:18px}}
.accounts-filter{margin:20px 0 12px}#account-dialog input[readonly]{color:var(--muted)}
@media(max-width:420px){.account-row{align-items:flex-start;flex-direction:column;gap:10px}.account-row .button{width:100%}}
