:root{color:#252821;font-synthesis:none;--ink:#252821;--muted:#74786f;--line:#deded5;--paper:#fffef9;--accent:#185c46;--accent-soft:#dcebe3;--danger:#a33b2f;background:#f5f4ef;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif}*{box-sizing:border-box}body{min-width:900px;min-height:100vh;margin:0}button,input,select{font:inherit}button{border:1px solid var(--line);color:var(--ink);background:var(--paper);cursor:pointer;border-radius:9px;padding:9px 14px}button:hover{border-color:#a9ada4}button:disabled{opacity:.55;cursor:wait}a{color:var(--accent);text-decoration:none}label{gap:7px;margin:16px 0;font-size:13px;font-weight:650;display:grid}input{background:#fff;border:1px solid #cacbc2;border-radius:9px;outline:none;padding:11px 12px}select{background:#fff;border:1px solid #cacbc2;border-radius:9px;padding:10px 12px}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #185c461f}.primary{color:#fff;background:var(--accent);border-color:var(--accent)}.full{width:100%;margin-top:8px;padding:12px}.text-button{background:0 0;border:0;padding:5px 7px}.danger,.text-button.danger{color:var(--danger)}.danger-soft{color:var(--danger);background:#fae8e4;border-color:#efc7bf}.muted{color:var(--muted)}.eyebrow{color:var(--accent);letter-spacing:.15em;margin:0 0 7px;font-size:10px;font-weight:800}.center{place-items:center;min-height:100vh;display:grid}.spinner{border:3px solid #d3d8d2;border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:radial-gradient(circle at 22% 20%,#e1ece5 0,#0000 32%),#f5f4ef;place-items:center;min-height:100vh;display:grid}.login-card{border:1px solid var(--line);background:#fffef9f0;border-radius:18px;width:410px;padding:44px;box-shadow:0 24px 70px #2d342b1c}.login-card h1{margin:6px 0;font-family:Georgia,serif;font-size:32px}.login-card .muted{margin:0 0 28px}.login-symbol,.brand-mark{background:var(--accent);color:#fff;place-items:center;font-weight:850;display:grid}.login-symbol{border-radius:14px;width:48px;height:48px;margin-bottom:25px}.error-box{color:#7f2d25;background:#fae8e4;border:1px solid #efc7bf;border-radius:9px;justify-content:space-between;align-items:center;margin:12px 0;padding:11px 13px;font-size:13px;display:flex}.error-box button{background:0 0;border:0;padding:0 4px}.app-shell{min-height:100vh}.topbar{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;height:66px;padding:0 28px;display:flex}.brand{align-items:center;gap:11px;font-weight:750;display:flex}.brand-mark{color:#252821;background:#e2b966;border-radius:9px;width:33px;height:33px;font-size:12px}.account-area{align-items:center;gap:10px;font-size:13px;display:flex}.account-area .text-button{color:#dfe2dc}.role-pill{color:#bcd8ca;border:1px solid #526057;border-radius:12px;padding:4px 8px;font-size:11px}.admin-layout{grid-template-columns:285px 1fr;min-height:calc(100vh - 66px);display:grid}.admin-nav{border-bottom:1px solid var(--line);background:#e9e8e2;gap:7px;padding:13px 38px;display:flex}.admin-nav button{background:0 0;border-color:#0000}.admin-nav button.selected{color:#fff;background:var(--accent);border-color:var(--accent)}.sidebar{border-right:1px solid var(--line);background:#ebeae4;padding:27px 20px}.back-files{text-align:left;background:0 0;width:100%;margin-bottom:23px}.content-panel{padding:38px 44px;overflow:auto}.section-heading,.page-heading,.file-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.section-heading h2,.page-heading h1{margin:0;font-family:Georgia,serif}.icon-button{place-items:center;width:37px;height:37px;padding:0;font-size:22px;display:grid}.account-list{gap:6px;margin-top:20px;display:grid}.audit-entry{background:#e1e3db;border-color:#d2d4cc;justify-content:space-between;width:100%;margin-top:18px;font-size:13px;display:flex}.account-row{text-align:left;background:0 0;border-color:#0000;grid-template-columns:37px 1fr 8px;align-items:center;gap:10px;width:100%;padding:10px;display:grid}.account-row.selected{background:var(--paper);border-color:var(--line);box-shadow:0 5px 16px #2d342b0f}.account-row span:nth-child(2){min-width:0;display:grid}.account-row small{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.avatar{background:#d5d8cf;border-radius:50%;place-items:center;width:37px;height:37px;font-weight:800;display:grid}.status{background:#aaa;border-radius:50%;width:8px;height:8px}.status.active{background:#38a16f;box-shadow:0 0 0 3px #d6eade}.empty-side{color:var(--muted);text-align:center;margin-top:40px;font-size:13px}.page-heading{border-bottom:1px solid var(--line);padding-bottom:26px}.page-heading h1{font-size:34px}.page-heading .muted{margin:6px 0 0}.heading-actions{gap:8px;display:flex}.notice{background:#fff5d8;border:1px solid #e8d28f;border-radius:9px;margin:18px 0;padding:12px 14px;font-size:13px}.mounts-heading{margin-top:32px}.mount-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-top:17px;display:grid}.mount-card{border:1px solid var(--line);background:var(--paper);border-radius:13px;grid-template-columns:42px 1fr;gap:8px 14px;padding:20px;display:grid}.folder-icon,.big-folder{color:#d39f39;font-size:30px}.mount-title h3{margin:0 0 5px}.mount-title code{max-width:400px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.mount-address-settings{grid-column:2;gap:9px;display:grid}.mount-address-settings label{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px;margin:0;font-size:10px;display:grid}.mount-address-settings input{margin:0;padding:7px 8px;font-size:11px}.mount-address-settings .form-hint{align-self:center;margin:0}.mount-address-settings .error-box{grid-column:1/-1;margin:0}.mount-path-warning{color:#8a5b08;background:#fff5d8;border-radius:6px;grid-column:2;padding:8px 10px;font-size:11px}.permission-tags,.card-actions{flex-wrap:wrap;grid-column:2;gap:6px;display:flex}.permission-tags span{color:#60645c;background:#eeeee8;border-radius:5px;padding:3px 7px;font-size:10px}.permission-switches{flex-wrap:wrap;grid-column:2;gap:6px 13px;display:flex}.check-permission{color:#555a52;align-items:center;gap:5px;margin:0;font-size:11px;font-weight:600;display:flex}.check-permission input{width:14px;height:14px;accent-color:var(--accent)}.card-actions{justify-content:space-between;align-items:center;margin-top:8px}.card-action-buttons{align-items:center;gap:7px;display:flex}.card-action-buttons button{padding:6px 11px}.switch{align-items:center;gap:8px;margin:0;display:flex}.switch input{display:none}.switch span{background:#bbbdb5;border-radius:20px;width:31px;height:18px;padding:2px}.switch span:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s;display:block}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(13px)}.audit-setting{border:1px solid var(--line);background:#f0f1ec;border-radius:9px;gap:7px;margin:15px 0;padding:13px 14px;display:grid}.audit-setting small{color:var(--muted);font-size:11px}.password-settings{border:1px solid var(--line);border-radius:9px;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0;padding:13px 14px;display:grid}.password-settings legend{color:var(--muted);padding:0 5px;font-size:11px}.password-settings label{margin:0}.password-settings small{color:var(--muted);grid-column:1/-1;font-size:11px}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#191d187a;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:15px;width:480px;padding:25px;box-shadow:0 25px 80px #00000040}.modal-title{justify-content:space-between;align-items:center;display:flex}.modal-title h2{margin:0;font-family:Georgia,serif}.modal-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.form-hint{color:var(--muted);font-size:12px}.storage-mode{gap:18px;margin:15px 0;display:flex}.storage-mode label{align-items:center;gap:7px;margin:0;display:flex}.storage-mode input{width:15px;height:15px;accent-color:var(--accent)}.managed-path-hint{background:#eef2ed;border:1px solid #d6ddd7;border-radius:9px;gap:6px;padding:14px;display:grid}.managed-path-hint code{color:var(--accent);word-break:break-all}.managed-path-hint small{color:var(--muted)}.external-path{color:var(--muted);margin-top:15px;font-size:12px}.external-path summary{cursor:pointer}.settings-address{grid-template-columns:100px 1fr 110px;gap:10px;display:grid}.audit-modal{flex-direction:column;width:min(950px,90vw);height:min(720px,85vh);display:flex}.audit-list{border:1px solid var(--line);border-radius:10px;margin-top:18px;overflow:auto}.audit-row{border-top:1px solid var(--line);grid-template-columns:9px 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.audit-row:first-child{border-top:0}.audit-row i{border-radius:50%;width:8px;height:8px}.audit-ok{background:#38a16f}.audit-fail{background:var(--danger)}.audit-row div{grid-template-columns:130px 1fr;align-items:center;gap:3px 10px;display:grid}.audit-row span,.audit-row small,.audit-row time{color:var(--muted);font-size:11px}.audit-row small{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.files-page{min-height:calc(100vh - 66px);padding:34px 38px;position:relative}.user-mount-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:25px;display:grid}.user-mount{text-align:left;background:var(--paper);justify-items:start;gap:9px;min-height:150px;padding:23px;display:grid}.user-mount strong{font-size:16px}.user-mount small{color:var(--muted);line-height:1.5}.file-toolbar{min-height:52px;margin-bottom:20px}.toolbar-actions,.breadcrumbs,.breadcrumbs span{align-items:center;gap:7px;display:flex}.breadcrumbs button{background:0 0;border:0;padding:5px;font-weight:650}.breadcrumbs span{color:#979a91}.file-table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:13px;min-height:430px;overflow:hidden}.file-table{border-collapse:collapse;width:100%}.file-table th{color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.06em;background:#ecece6;padding:12px 17px;font-size:11px}.file-table td{border-top:1px solid #e8e8e1;padding:13px 17px;font-size:13px}.file-table td:first-child{align-items:center;gap:10px;display:flex}.file-icon{color:#7b8178;font-size:19px}.file-icon.directory{color:#d39f39}.filename{text-overflow:ellipsis;text-align:left;white-space:nowrap;background:0 0;border:0;max-width:420px;padding:2px;overflow:hidden}.row-actions{align-items:center;gap:12px;display:flex}.row-actions button{color:var(--accent);background:0 0;border:0;padding:2px;font-size:12px}.row-actions button.danger{color:var(--danger)}.empty{color:var(--muted);text-align:center;justify-items:center;padding:70px 20px;display:grid}.empty span{color:#b5b8b0;font-size:42px}.empty h3{color:var(--ink);margin:11px 0 2px}.empty p{margin:4px 0;font-size:13px}.drop-overlay{z-index:12;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#185c46e8;place-items:center;display:grid;position:fixed;inset:66px 0 0}.drop-overlay div{justify-items:center;gap:10px;display:grid}.drop-overlay span{font-size:65px}.drop-overlay strong{font-size:23px}.drop-overlay small{color:#cae2d7}.upload-toast{z-index:13;color:#fff;background:#252821;border-radius:12px;width:340px;padding:16px;position:fixed;bottom:25px;right:25px;box-shadow:0 15px 50px #00000040}.copy-toast{z-index:14;color:#fff;background:#252821;border-radius:9px;padding:10px 16px;font-size:12px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 10px 35px #0003}.copy-toast.error{background:#a63f35}.upload-toast div{justify-content:space-between;gap:15px;margin-bottom:11px;font-size:12px;display:flex}.upload-toast strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.upload-toast progress{accent-color:#4eb183;width:100%}.upload-toast details{margin-top:9px;font-size:11px}.upload-toast details small{color:#d4d8d1;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;display:block;overflow:hidden}.upload-actions{justify-content:flex-end!important;margin:10px 0 0!important}.upload-actions button{color:#fff;background:#3a3e37;border-color:#555b52;padding:5px 9px;font-size:11px}
