:root{--bg: #0f1115;--surface: #171a21;--surface-2: #1f2430;--text: #e6e8ee;--muted: #98a2b3;--border: #2a3040;--accent: #5b8def;--danger: #e5484d;--danger-bg: #3a1416;--warning: #f5a524;--radius: 10px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.deploy-banner{background:var(--danger-bg);color:#ffd7d7;border-bottom:1px solid var(--danger);padding:8px 16px;text-align:center;font-weight:700;letter-spacing:.02em;font-size:.9rem}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:24px;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap}.app-header__brand{font-weight:700;font-size:1.05rem}.app-nav{display:flex;gap:8px;flex-wrap:wrap}.app-nav__link{padding:6px 12px;border-radius:var(--radius);color:var(--muted)}.app-nav__link:hover{background:var(--surface-2);text-decoration:none}.app-nav__link.is-active{background:var(--surface-2);color:var(--text)}.app-header__account{margin-left:auto;display:flex;align-items:center;gap:10px}.app-header__user{color:var(--muted);font-size:.9rem}.member-list{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}.member-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.member-type{color:var(--muted);font-style:normal;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;margin-left:6px}.member-badge{margin-left:8px;font-size:.7rem;padding:2px 6px;border-radius:999px;background:#5b8def26;color:var(--accent)}.member-add{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.member-add input,.member-add select{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.app-main{flex:1;padding:24px 20px;max-width:960px;width:100%;margin:0 auto}.app-footer{padding:12px 20px;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem;text-align:center}.page h1{margin:0 0 8px}.page__lead{color:var(--muted);margin-top:0}.status-grid,.placeholder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:16px}.status-card,.placeholder-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.status-card h2,.placeholder-tile h2{margin:0 0 8px;font-size:1rem}.status-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0}.status-card dt{color:var(--muted)}.status-card dd{margin:0}.status-card__error{color:var(--danger)}.notice{border-radius:var(--radius);padding:12px 16px;margin:12px 0;border:1px solid var(--border)}.notice--warning{border-color:var(--warning);background:#f5a5241a}.login-form{display:grid;gap:12px;max-width:360px;margin-top:16px}.login-form label{display:grid;gap:4px;color:var(--muted)}.login-form input{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}button{padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}button:hover{background:var(--surface)}.settings-list{color:var(--muted)}.spinner{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.spinner__dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast-stack{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:1000}.toast{padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);box-shadow:0 6px 20px #00000059}.toast--error{border-color:var(--danger)}.toast--success{border-color:#2ecc71}.error-boundary{padding:40px 20px;text-align:center}.app-search{display:flex}.app-search input{padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);min-width:160px}.capture-form{display:grid;gap:8px;margin:16px 0;max-width:560px}.capture-form input,.capture-form textarea,.capture-form select{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;width:100%}.capture-form textarea{resize:vertical}.capture-form button{justify-self:start}.field-row{display:flex;flex-wrap:wrap;gap:8px}.field-row input,.field-row select{flex:1 1 auto}.tab-row{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 8px}.tab{padding:6px 12px;border-radius:999px;background:transparent;color:var(--muted);border:1px solid var(--border)}.tab.is-active{background:var(--surface-2);color:var(--text);border-color:var(--accent)}.item-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}.item-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:grid;gap:8px}.item-card__title{margin:0;font-size:1rem}.item-card__body{margin:0;white-space:pre-wrap}.item-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:.85rem}.item-card__actions{display:flex;flex-wrap:wrap;gap:8px}.item-card__actions button{font-size:.85rem;padding:6px 10px}.item-card__section{border-top:1px solid var(--border);padding-top:8px;display:grid;gap:6px}.item-card__subtitle{margin:0;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.tag-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.tag-list li{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:.85rem;display:flex;align-items:center;gap:4px}.tag-list button{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:0;font-size:.9rem;line-height:1}.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-form input{padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.empty-state{color:var(--muted);padding:12px 0}.search-groups{display:grid;gap:20px;margin-top:12px}.placeholder-tile--link{display:block;color:inherit}.placeholder-tile--link:hover{border-color:var(--accent);text-decoration:none}.notif-bell{position:relative;display:inline-flex;align-items:center;padding:4px 6px;border-radius:8px;font-size:1.1rem;line-height:1}.notif-bell:hover{background:var(--surface-2);text-decoration:none}.notif-badge{position:absolute;top:-2px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:.68rem;font-weight:700;line-height:16px;text-align:center}.page__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.notif-item{flex-direction:row;align-items:flex-start;justify-content:space-between}.notif-item--unread{border-left:3px solid var(--accent)}.today-sections{display:grid;gap:24px;margin-top:12px}.today-section__title{margin:0 0 8px;font-size:1rem;display:flex;align-items:center;gap:8px}.today-section__title--danger{color:var(--danger)}.capture-fab{position:fixed;right:20px;bottom:20px;width:52px;height:52px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:0 6px 20px #0006;z-index:900}.capture-fab:hover{filter:brightness(1.08);background:var(--accent)}.capture-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;z-index:1100}.capture-modal__panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;width:100%;max-width:480px}.capture-modal__panel h2{margin:0 0 8px;font-size:1.1rem}@media (max-width: 640px){.app-header{gap:10px;padding:10px 12px}.app-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.app-nav__link{white-space:nowrap}.app-header__user{display:none}.app-search input{min-width:100px}.app-main{padding:16px 12px}.capture-fab{right:14px;bottom:14px}}
