:root{--bg: oklch(.178 .004 75);--surface: oklch(.222 .005 75);--surface-2: oklch(.272 .006 75);--text: oklch(.965 .003 80);--muted: oklch(.72 .007 78);--faint: oklch(.555 .008 78);--border: oklch(1 0 0 / .09);--border-strong: oklch(1 0 0 / .17);--accent: oklch(.705 .135 47);--accent-soft: oklch(.705 .135 47 / .18);--status-active: oklch(.72 .17 150);--status-archived: oklch(.58 .13 25);--status-archived-strong: oklch(.63 .21 25);--radius: 14px;--shadow-card: 0 1px 2px oklch(0 0 0 / .3), 0 6px 20px oklch(0 0 0 / .34);--shadow-panel: -12px 0 54px oklch(0 0 0 / .5);--font: "Schibsted Grotesk", system-ui, sans-serif;--mono: "Spline Sans Mono", ui-monospace, monospace;--card-min: 212px;--grid-gap: 24px;--photo-radius: 16px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh}::selection{background:var(--accent-soft)}button{font-family:inherit;cursor:pointer}a{color:inherit}.tb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000080;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .28s ease}.tb-overlay.is-open{opacity:1;pointer-events:auto}.tb-panel{position:fixed;top:0;right:0;height:100vh;width:min(440px,92vw);z-index:41;background:var(--surface);box-shadow:var(--shadow-panel);display:flex;flex-direction:column;transform:translate(102%);transition:transform .34s cubic-bezier(.22,.61,.36,1),width .3s cubic-bezier(.22,.61,.36,1)}.tb-panel.is-open{transform:translate(0)}.tb-panel.is-wide{width:min(880px,96vw)}.tb-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:34px;background:#000000d1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:tb-fade .18s ease;cursor:zoom-out}.tb-lightbox img{max-width:min(1100px,92vw);max-height:84vh;width:auto;height:auto;border-radius:12px;box-shadow:0 30px 90px #000000b3;cursor:default;animation:tb-rise .22s cubic-bezier(.22,.61,.36,1)}.tb-lightbox-cap{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:#c6c4c0}.tb-lightbox-close{position:absolute;top:20px;right:22px;width:38px;height:38px;border-radius:50%;border:1px solid var(--border-strong);background:#00000073;color:#f6f5f3;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.tb-lightbox-close:hover{background:#000000b3}.tb-btn{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border);padding:9px 14px;border-radius:10px;line-height:1;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.tb-btn:hover{border-color:var(--border-strong)}.tb-btn[data-open="1"]{border-color:var(--border-strong);background:var(--surface-2)}.tb-btn:disabled{opacity:.45;cursor:not-allowed}.tb-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.tb-btn-primary:hover{filter:brightness(1.06);border-color:var(--accent)}.tb-btn-danger{color:#fb817a;border-color:#fb817a59;background:#fb817a1a}.tb-btn-danger:hover{border-color:#fb817a99}.tb-menu{position:absolute;top:calc(100% + 8px);min-width:218px;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:13px;box-shadow:0 12px 38px #00000073;padding:6px;display:flex;flex-direction:column;gap:2px;animation:tb-pop .14s ease}@keyframes tb-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.tb-menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font-size:13.5px;color:var(--text);background:transparent;border:0;padding:9px 10px;border-radius:9px}.tb-menu-item:hover{background:var(--surface-2)}.tb-menu-item[data-danger="1"]{color:#fb817a}.tb-menu-sep{height:1px;background:var(--border);margin:5px 2px}.tb-menu-label{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);padding:8px 10px 4px}.tb-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000094;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:tb-fade .2s ease}@keyframes tb-fade{0%{opacity:0}to{opacity:1}}.tb-modal{width:min(560px,100%);max-height:92vh;display:flex;flex-direction:column;background:var(--surface);border-radius:18px;overflow:hidden;box-shadow:0 24px 80px #0009;animation:tb-rise .22s cubic-bezier(.22,.61,.36,1)}@keyframes tb-rise{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}.tb-modal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--border)}.tb-modal-avatar{width:50px;height:50px;border-radius:13px;flex-shrink:0;overflow:hidden;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;color:var(--muted)}.tb-modal-body{padding:22px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.tb-modal-foot{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface-2)}.tb-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tb-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}.tb-input{font-family:inherit;font-size:14.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s ease}.tb-input:focus{border-color:var(--accent)}.tb-icon-btn{width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:15px;display:flex;align-items:center;justify-content:center}.tb-icon-btn:hover{border-color:var(--border-strong)}.tb-toasts{position:fixed;bottom:26px;left:50%;transform:translate(-50%);z-index:80;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(560px,92vw);pointer-events:none}.tb-toast{background:#35322e;color:#f7f5f1;border:1px solid var(--border-strong);font-size:13.5px;padding:12px 18px;border-radius:11px;box-shadow:0 12px 34px #00000080;animation:tb-toast-in .24s ease}.tb-toast[data-kind=error]{background:#9e2225;border-color:#ce514d80}.tb-toast[data-kind=success]{background:#266739;border-color:#4a9a5e80}@keyframes tb-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.tb-modal-overlay[data-level="2"]{z-index:78}.tb-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted)}.tb-spinner{width:30px;height:30px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:tb-spin .8s linear infinite}@keyframes tb-spin{to{transform:rotate(360deg)}}.tb-tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);padding:3px 9px;border-radius:999px;line-height:1.5;white-space:nowrap}.tb-tag[data-on="1"]{background:var(--accent);border-color:var(--accent);color:#fff}button.tb-tag:hover{border-color:var(--accent);color:var(--text)}button.tb-tag[data-on="1"]:hover{color:#fff}.tb-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:999px;line-height:1.4;white-space:nowrap}.tb-badge[data-status=active]{color:var(--status-active);background:#3fc16829}.tb-badge[data-status=archived]{color:var(--status-archived);background:#bb575224;border:1px solid oklch(.58 .13 25 / .3)}.tb-badge .tb-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.tb-social{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12.5px;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--border);text-decoration:none;transition:border-color .15s ease,color .15s ease,background .15s ease,transform .15s ease}.tb-social:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.tb-mini{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);background:var(--surface-2);border:1px solid var(--border)}.tb-mini[data-filled="1"]{color:var(--accent);border-color:var(--accent-soft)}a.tb-mini{text-decoration:none;transition:color .15s ease,border-color .15s ease}a.tb-mini:hover{color:var(--accent);border-color:var(--accent)}.tb-seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px}.tb-seg button{border:0;background:transparent;color:var(--muted);font-family:inherit;font-size:13px;font-weight:500;padding:6px 12px;border-radius:7px;line-height:1;transition:background .15s ease,color .15s ease}.tb-seg button[data-on="1"]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #4f463c14}.tb-switch{position:relative;width:40px;height:23px;flex-shrink:0}.tb-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.tb-switch .tb-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--border-strong);transition:background .18s ease}.tb-switch .tb-knob{position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:transform .18s ease;box-shadow:0 1px 2px #0006}.tb-switch input:checked+.tb-track{background:var(--accent)}.tb-switch input:checked+.tb-track+.tb-knob{transform:translate(17px)}.tb-removable{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);padding:5px 6px 5px 11px;border-radius:999px;line-height:1}.tb-removable button{border:0;background:transparent;color:var(--faint);font-size:14px;line-height:1;padding:0 2px;display:flex}.tb-removable button:hover{color:#bd413f}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px 34px;text-align:center;box-shadow:0 12px 40px #00000040}.login-brand{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.login-title{margin:0;font-size:25px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.login-sub{margin:10px 0 0;font-size:14.5px;color:var(--muted);line-height:1.5}.login-btn{margin-top:26px;width:100%;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:11px;border:0;cursor:pointer;color:#fff;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;transition:filter .15s ease,transform .15s ease}.login-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.login-error{margin-top:22px;text-align:left;padding:14px 16px;border-radius:10px;background:#bd413f1f;border:1px solid oklch(.55 .16 25 / .35);color:var(--text);font-size:13.5px;line-height:1.5}.login-error strong{display:block;margin-bottom:4px;color:#ff9685}.login-error p{margin:0;color:var(--muted)}.login-error code{font-family:var(--mono);font-size:12.5px;background:var(--surface-2);padding:2px 7px;border-radius:6px;color:var(--text)}
