:root{color-scheme:light;--bg: #edf1f5;--nav: #141922;--nav-2: #1c2430;--panel: #ffffff;--panel-2: #f7f9fc;--ink: #111827;--muted: #667085;--muted-2: #98a2b3;--line: #d9e1ea;--line-2: #edf1f5;--accent: #0f766e;--accent-soft: #e7f7f4;--blue: #1f6feb;--blue-soft: #eff6ff;--danger: #b42318;--shadow: 0 18px 40px rgba(15, 23, 42, .1)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;min-height:0;overflow:hidden}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}#app{--nav-width: 360px;display:grid;grid-template-columns:var(--nav-width) minmax(0,1fr);height:100vh}#app.nav-collapsed{grid-template-columns:0 minmax(0,1fr)}.lock-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#e9f1f3,#f6f8fb 48%,#edf3ff)}.lock-panel{width:min(460px,100%);padding:30px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.lock-panel h1{margin:14px 0 8px;font-size:34px;line-height:1.1}.lock-panel p{color:var(--muted);line-height:1.55}.password-form{display:grid;gap:14px;margin-top:24px}.password-form label,.search{display:grid;gap:7px;color:#344054;font-size:12px;font-weight:800}.password-form input,.search input{height:42px;border:1px solid var(--line);border-radius:8px;padding:0 12px;outline:none;background:#fff;color:var(--ink)}.password-form input:focus,.search input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1f6feb1f}.auth-error{border:1px solid #f5c2c0;border-radius:8px;padding:10px 12px;background:#fff4f2;color:var(--danger);font-size:13px;font-weight:800}.sidebar{min-width:0}.brand{display:flex;align-items:center;gap:12px}.brand>div{min-width:0;flex:1}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#0f766e;color:#fff;font-weight:900}.brand strong,.brand small{display:block}.brand small{margin-top:3px;color:var(--muted)}.nav-collapse{position:relative;flex:0 0 auto;width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#fff}.nav-collapse:before,.nav-collapse:after{content:"";position:absolute;top:10px;left:13px;width:2px;height:12px;border-radius:999px;background:#667085}.nav-collapse:after{left:18px}.nav-collapse:hover{border-color:#0f766e73;background:#eef8f6}.nav-block{display:grid;gap:8px}.nav-label,.eyebrow{margin:0;color:var(--muted-2);font-size:11px;font-weight:900;letter-spacing:0;text-transform:uppercase}.nav-item{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:8px;padding:9px 10px;color:#d8dee8;background:transparent}.nav-item.is-current{background:var(--nav-2);color:#fff}.nav-item em{min-width:24px;border-radius:999px;padding:2px 7px;color:#b8c2d2;background:#ffffff14;font-size:11px;font-style:normal;font-weight:800;text-align:center}.stack-note{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding-top:16px}.stack-note h2{margin:0 0 10px;font-size:13px}.stack-note ul{display:grid;gap:8px;margin:0;padding-left:18px}.stack-note li{color:#aab4c2;font-size:12px;line-height:1.45}.document-nav{position:relative;min-height:0;height:100vh;border-right:1px solid var(--line);background:#f8fafc;overflow:visible}.nav-scroll{min-width:0;height:100%;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:18px;padding:22px;overflow:hidden}.nav-collapsed .document-nav{border-right:0;overflow:hidden}.nav-collapsed .nav-scroll,.nav-collapsed .nav-resizer{display:none}.nav-resizer{position:absolute;top:0;right:-4px;z-index:10;width:8px;height:100%;border:0;padding:0;background:transparent;cursor:col-resize}.nav-resizer:after{content:"";position:absolute;top:0;left:3px;width:1px;height:100%;background:transparent}.nav-resizer:hover:after,.is-resizing-nav .nav-resizer:after{background:var(--blue)}.is-resizing-nav{cursor:col-resize;-webkit-user-select:none;user-select:none}.library-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.library-head h2{margin:4px 0 0;font-size:24px}.library-head>span{border:1px solid var(--line);border-radius:999px;padding:4px 9px;color:var(--muted);background:#fff;font-size:12px;font-weight:900}.security-badge{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:4px 10px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px;font-weight:900}.doc-list{min-height:0;display:grid;align-content:start;gap:10px;overflow:auto;padding-right:2px}.doc-row{width:100%;min-height:92px;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);text-align:left}.doc-thumb{min-width:0;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--line-2);border-radius:6px;background:#eef2f7}.doc-thumb img{display:block;width:100%;height:100%;object-fit:cover}.doc-row:hover,.doc-row.is-active{border-color:#0f766e73;box-shadow:0 8px 24px #0f766e1a}.doc-row-main,.doc-row-main strong,.doc-row-main span{display:block;min-width:0}.doc-row-main strong{font-size:16px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.doc-row-main span{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.workspace{position:relative;min-width:0;min-height:0;height:100vh;display:grid;grid-template-rows:minmax(0,1fr);gap:16px;padding:18px}.library-opener{position:absolute;top:76px;left:0;z-index:20;height:38px;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;padding:0 12px;background:#fff;color:var(--ink);box-shadow:0 8px 24px #0f172a1f;font-size:12px;font-weight:900}.library-opener:hover{border-color:#0f766e73;color:var(--accent)}.topbar{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--panel)}.topbar strong,.topbar span{display:block}.topbar span{margin-top:2px;color:var(--muted);font-size:12px;font-weight:700}.ghost,.primary{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#fff;color:var(--ink);font-weight:900}.primary{border-color:var(--accent);background:var(--accent);color:#fff}.viewer-shell{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.viewer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 16px}.viewer-head .eyebrow{color:var(--blue)}.viewer-head h1{margin:6px 0 0;font-size:clamp(26px,3vw,38px);line-height:1.08}.viewer-head p{margin:10px 0 0;max-width:820px;color:var(--muted);line-height:1.5}.viewer-actions{display:flex;align-items:center;gap:8px}.security-badge{border-color:#bfdbfe;background:var(--blue-soft);color:#1d4ed8}.doc-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:var(--panel-2)}.doc-meta div{min-width:0;padding:11px 16px;border-right:1px solid var(--line-2)}.doc-meta div:last-child{border-right:0}.doc-meta dt{color:var(--muted-2);font-size:11px;font-weight:900;text-transform:uppercase}.doc-meta dd{margin:4px 0 0;overflow:hidden;color:var(--ink);font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.frame-wrap,.editor-shell{min-height:0;overflow:auto;background:#fff}iframe{display:block;width:100%;height:100%;min-height:100%;border:0;background:#fff}.encrypted-frame{display:grid}.document-loading{min-height:690px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center}.document-loading strong{color:var(--ink);font-size:18px}.draft-editor{min-height:690px;padding:38px clamp(22px,5vw,74px);outline:none;line-height:1.72;font-size:17px}.draft-editor h2{margin-top:0;font-size:28px}.draft-editor:focus{box-shadow:inset 0 0 0 2px #1f6feb2e}@media(max-width:1180px){#app{--nav-width: min(340px, 42vw)}}@media(max-width:900px){#app{grid-template-columns:1fr}.document-nav,.workspace{min-height:auto}.stack-note{display:none}.workspace{padding:12px}.viewer-head,.topbar{align-items:flex-start;flex-direction:column}}
