:root{--bg: #f3f1ec;--ink: #1c1b19;--muted: #6b6560;--line: #d9d4cb;--accent: #2f5d50;--accent-soft: #e7efe9;--panel: #fff;--danger: #9b3a2f;--serif: "Instrument Serif", Georgia, serif;--sans: "Source Sans 3", system-ui, sans-serif;--nav-h: 56px;--bottom-h: 64px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--sans);color:var(--ink);background:radial-gradient(900px 480px at 8% -10%,#e7efe9 0%,transparent 55%),radial-gradient(700px 400px at 100% 0%,#efe8dc 0%,transparent 50%),var(--bg)}a{color:var(--accent)}button,input,textarea,select{font:inherit}.shell{min-height:100dvh;display:flex;flex-direction:column;padding-bottom:calc(var(--bottom-h) + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--nav-h);padding:10px 16px;border-bottom:1px solid var(--line);background:#ffffffc7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{font-family:var(--serif);font-size:1.45rem;margin:0;letter-spacing:-.03em}.brand-sub{color:var(--muted);font-size:.78rem}.who{font-size:.85rem;color:var(--muted);text-align:right}.who-row{display:flex;align-items:flex-start;justify-content:flex-end;gap:10px}.plus-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:44px;border-radius:14px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:1.6rem;line-height:1;font-weight:500;cursor:pointer;flex:0 0 44px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.page-head .lede{flex:1}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);min-height:var(--bottom-h);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav.with-docs{grid-template-columns:repeat(5,1fr)}.bottom-nav.editor-only{grid-template-columns:1fr}.bottom-nav a{display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--muted);font-size:.82rem;font-weight:600}.bottom-nav a.active{color:var(--accent)}.page{padding:16px;max-width:1100px;width:100%;margin:0 auto}.lede{color:var(--muted);margin:0 0 16px}.banner{padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--ink);margin-bottom:14px;font-size:.9rem}.banner.err{background:#f6e4e1;color:var(--danger)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:10px 14px;min-height:44px;font-weight:600;cursor:pointer}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.danger{background:#fff;color:var(--danger);border-color:#e4c4bf}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.is-busy{opacity:1;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .7s linear infinite;flex:0 0 14px}@keyframes btn-spin{to{transform:rotate(360deg)}}.row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}label.field{display:grid;gap:4px;font-size:.82rem;color:var(--muted);flex:1 1 160px}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);min-height:44px}textarea{min-height:96px;resize:vertical}.board{display:grid;gap:14px}@media(min-width:720px){.board{grid-template-columns:repeat(3,1fr)}.shell{padding-bottom:0}.bottom-nav{display:none}.desk-nav{display:flex!important;gap:16px}}.desk-nav{display:none}.desk-nav a{text-decoration:none;color:var(--muted);font-weight:600;font-size:.92rem}.desk-nav a.active{color:var(--accent)}.col{background:#ffffff8c;border:1px solid var(--line);border-radius:16px;padding:12px;min-height:0}.col-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;background:none;padding:4px 0;min-height:44px;cursor:pointer;color:inherit;text-align:left}.col h2{font-family:var(--serif);font-size:1.25rem;margin:0;font-weight:400}.col-chevron{color:var(--muted);font-size:.95rem}.col-body{display:none;padding-top:8px}.col.open .col-body{display:block}.col-more{display:flex;width:100%;margin-top:10px;justify-content:center}@media(min-width:720px){.col{min-height:120px}.col-toggle{cursor:default;pointer-events:none;min-height:0;padding:0 0 10px}.col-chevron{display:none}.col-body{display:block!important;padding-top:0}.col-more{margin-top:12px}}.card{display:block;text-decoration:none;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px}.card h3{margin:0 0 6px;font-size:1rem}.meta{color:var(--muted);font-size:.8rem}.pill{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);margin-right:6px}.pill.high{background:#f6e4e1;color:var(--danger)}.shell.composing{padding-bottom:0}.compose-page{flex:1;display:flex;flex-direction:column;min-height:0}.compose-body{flex:1;padding:16px 16px 24px;max-width:640px;width:100%;margin:0 auto}.compose-body h1{font-family:var(--serif);font-weight:400;font-size:2rem;margin:8px 0}.back-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--accent);font-weight:600;padding:0;min-height:36px;cursor:pointer}.compose-footer{position:sticky;bottom:0;display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.compose-footer .btn{flex:1}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#1c1b1961;display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(480px,100%);background:#fff;border-radius:20px 20px 0 0;padding:10px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -8px 32px #1c1b191f}.sheet-handle{width:40px;height:4px;border-radius:999px;background:var(--line);margin:4px auto 12px}.sheet h2{font-family:var(--serif);font-weight:400;font-size:1.6rem;margin:0 0 4px}.sheet-action{display:grid;gap:2px;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;margin-bottom:8px;min-height:64px;cursor:pointer}.sheet-action strong{font-size:1rem}.sheet-action span{color:var(--muted);font-size:.85rem}.confirm-sheet .lede{margin:0 0 16px}@media(min-width:720px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-radius:20px}}.detail h1{font-family:var(--serif);font-weight:400;font-size:2rem;margin:0 0 8px}.panel{background:#ffffffb3;border:1px solid var(--line);border-radius:16px;padding:14px;margin:12px 0}.panel h2{font-size:1rem;margin:0 0 8px}.attach-list{display:grid;gap:8px;margin:10px 0 14px}.attach-card{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}.attach-card a{font-weight:600}.attach-open{display:inline-block;font-size:.85rem}.attach-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}.attach-actions .btn{min-height:36px;padding:6px 12px}.attach-pick{margin-top:8px}.log{font-size:.88rem;border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.login{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 22px}.login-card h1{font-family:var(--serif);font-weight:400;margin:0 0 8px}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.documents-page h1{font-family:var(--serif);font-weight:400;font-size:2rem;margin:0 0 8px}.doc-preview{margin-top:12px}.pdf-frame{width:100%;min-height:420px;border:1px solid var(--line);border-radius:12px;background:#fff;margin:10px 0}.apps-page h1{font-family:var(--serif);font-weight:400;font-size:2rem;margin:0 0 8px}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px}.app-tile{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;transition:box-shadow .15s ease,transform .15s ease}.app-tile:hover{box-shadow:0 6px 20px #1c1b1914;transform:translateY(-1px)}.app-open{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 14px 18px;text-decoration:none;color:var(--ink);border-radius:16px}.app-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-icon{width:64px;height:64px;border-radius:16px;object-fit:cover;box-shadow:0 1px 3px #1c1b191f}.app-name{font-weight:600;font-size:1rem;margin-top:4px}.app-tagline{color:var(--muted);font-size:.82rem}.app-info-btn{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--accent);font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.05rem;line-height:1;cursor:pointer}.app-info-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.app-info-sheet p{margin:0 0 12px;line-height:1.45}.app-info-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}.app-info-head .app-icon{width:56px;height:56px;border-radius:14px}.app-info-head h2{margin:0}.app-info-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:10px 0 4px}.app-info-actions{display:flex;gap:8px;margin-top:8px}.app-info-actions .btn{flex:1;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.bottom-nav a{text-align:center;line-height:1.15;padding:0 2px}
