.auth{min-height:100dvh;padding:var(--s-5) var(--s-4);background:var(--bg);place-items:center;display:grid}.auth__card{width:min(400px,100%);padding:var(--s-6) var(--s-6) var(--s-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:var(--surface);box-shadow:var(--shadow-panel)}.auth__brand{align-items:center;gap:var(--s-2);margin:0 0 var(--s-5);font-weight:750;font-size:var(--fs-lg);display:flex}.auth__title{margin:0 0 var(--s-4);font-size:var(--fs-xl)}.auth__form{gap:var(--s-3);flex-direction:column;display:flex}.auth__form .btn--lg{margin-top:var(--s-2)}.auth__error{padding:var(--s-2) var(--s-3);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);margin:0}.auth__hint{margin:var(--s-2) 0 0;font-size:var(--fs-sm);text-align:center}@media (width<=480px){.auth__card{padding:var(--s-5) var(--s-4)}}.user-chip{width:30px;height:30px;margin-left:var(--s-1);border-radius:var(--radius);color:#fff;font:inherit;font-size:var(--fs-xs);cursor:pointer;background:#2b7a6b;border:0;place-items:center;font-weight:650;display:grid}.user-chip:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.user-menu__sub{color:var(--text-muted);font-size:var(--fs-xs);display:block}.modal{z-index:90;padding:var(--s-4);background:oklch(25% .05 256/.45);place-items:center;display:grid;position:fixed;inset:0}.modal__card{width:min(420px,100%);padding:var(--s-5);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel)}.home{background:var(--bg);min-height:100%}.home__bar{align-items:center;gap:var(--s-4);height:var(--topbar-h);padding:0 var(--s-3) 0 var(--s-4);background:var(--chrome);color:var(--chrome-text);display:flex}.brand{align-items:center;gap:var(--s-2);font-weight:700;font-size:var(--fs-lg);letter-spacing:-.01em;display:inline-flex}.home__link{align-items:center;gap:var(--s-2);border-radius:var(--radius);min-height:32px;font-size:var(--fs-md);padding:0 10px;font-weight:550;text-decoration:none;display:inline-flex}.home__link:hover{background:#ffffff1a}.home__main{max-width:1000px;padding:var(--s-6) var(--s-5) var(--s-8);margin:0 auto}.home__head{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-4);display:flex}.home__title{font-size:var(--fs-xl);font-weight:700}.home__archived{margin-top:var(--s-6)}.home__archived summary{cursor:pointer;color:var(--text-muted);padding:var(--s-2) 0;font-weight:600}.event-list{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);margin:0;padding:0;list-style:none;overflow:hidden}.event-list>li+li{border-top:1px solid var(--ink-150)}.event-row{align-items:center;gap:var(--s-4);min-height:60px;padding:var(--s-2) var(--s-4);transition:background var(--dur) var(--ease-out);grid-template-columns:170px minmax(0,1fr) minmax(0,220px) auto 20px;text-decoration:none;display:grid}.event-row:hover{background:var(--ink-50)}.event-row__dates{font-size:var(--fs-sm);color:var(--text-muted)}.event-row__name{font-weight:650}.event-row__venue{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-row__chev{color:var(--ink-400)}@media (width<=720px){.event-row{grid-template-columns:1fr auto}.event-row__dates,.event-row__venue{grid-column:1}.event-row__chev{display:none}}.sheet{background:var(--surface);width:min(440px,100vw);box-shadow:var(--shadow-panel);z-index:30;animation:sheet-in .26s var(--ease-out);position:fixed;inset:0 0 0 auto;overflow-y:auto}.sheet__body{padding:var(--s-5);gap:var(--s-4)}.grid-2{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}:root{--ink-950:#1a1a1a;--ink-900:#303030;--ink-800:#3d3d3d;--ink-700:#4a4a4a;--ink-600:#616161;--ink-500:#8a8a8a;--ink-400:#b5b5b5;--ink-300:#ccc;--ink-200:#e3e3e3;--ink-150:#ebebeb;--ink-100:#f1f1f1;--ink-50:#f7f7f7;--paper:#fff;--accent:#005bd3;--accent-strong:#004299;--accent-soft:#eaf4ff;--accent-ink:#00449e;--todo:var(--ink-500);--progress:#2c6ecb;--progress-soft:#e0f0ff;--done:#29845a;--done-soft:#cdfee1;--danger:#c70a24;--danger-soft:#fee9e8;--warning:#e8a201;--warning-soft:#fff1c2;--cat-electrical:oklch(76% .16 75);--cat-water:oklch(64% .14 235);--cat-rigging:oklch(57% .18 300);--bg:var(--ink-100);--surface:var(--paper);--surface-sunk:var(--ink-50);--sidebar:#ebebeb;--chrome:var(--ink-950);--chrome-text:#f5f5f5;--border:var(--ink-200);--border-strong:var(--ink-300);--text:var(--ink-900);--text-muted:var(--ink-600);--focus:#005bd359;--font:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.875rem;--fs-lg:1rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:32px;--s-7:48px;--s-8:72px;--radius-sm:6px;--radius:8px;--radius-lg:12px;--touch:36px;--touch-field:56px;--shadow-card:0 0 0 1px #00000012, 0 1px 2px #0000000f;--shadow-panel:0 0 0 1px #0000000f, 0 8px 24px -6px #00000029;--shadow-btn:0 1px 0 #0000000f, inset 0 -1px 0 #00000014, 0 0 0 1px #0000001a;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur:.15s;--topbar-h:52px;--nav-w:220px;--panel-w:400px}@media (prefers-reduced-motion:reduce){:root{--dur:0s}}@keyframes m-fade-up{0%{opacity:0;transform:translateY(6px)}}@keyframes m-fade{0%{opacity:0}}@keyframes m-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes m-slide-left{0%{opacity:0;transform:translate(16px)}}.btn,.icon-btn,.nav-item,.topchip,.views button,.user-chip,.seg__btn,.chip{transition:background-color .14s var(--ease-out), color .14s var(--ease-out), box-shadow .14s var(--ease-out), transform 90ms var(--ease-out)}.btn:active:not(:disabled),.nav-item:active,.topchip:active,.views button:active,.chip:active{transform:scale(.98)}.icon-btn:active:not(:disabled),.user-chip:active,.seg__btn:active:not(:disabled){transform:scale(.92)}.btn--primary:hover:not(:disabled){box-shadow:0 2px 6px -1px #0000004d,inset 0 1px #ffffff1f}.btn--secondary:hover:not(:disabled){box-shadow:0 1px 2px #00000014,inset 0 -1px #00000014,0 0 0 1px #00000024}.user-chip:hover{box-shadow:0 0 0 2px #ffffff40}.rt tbody tr,.list__row,.event-row,.menu__item,.search__results button,.doc,.svc{transition:background-color .12s var(--ease-out)}.event-row__chev{transition:transform .16s var(--ease-out), color .16s}.event-row:hover .event-row__chev{color:var(--text);transform:translate(3px)}.nav-item svg{transition:color .14s, transform .16s var(--ease-out)}.nav-item:hover svg{transform:translate(1px)}.ws__page>*,.home__main,.details__body{animation:m-fade-up .24s var(--ease-out) both}.records__detail{animation:m-slide-left .22s var(--ease-out) both}.menu__list,.search__results,.notif__panel{animation:m-pop .14s var(--ease-out) both;transform-origin:100% 0}.modal{animation:m-fade .15s var(--ease-out) both}.modal__card,.auth__card{animation:m-fade-up .22s var(--ease-out) both}.details__layout>*>*{animation:m-fade-up .26s var(--ease-out) both}.details__layout>*>:nth-child(2){animation-delay:40ms}.details__layout>*>:nth-child(3){animation-delay:80ms}.details__layout>*>:nth-child(4){animation-delay:.12s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:var(--fs-md);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-variant-numeric:tabular-nums;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.005em;margin:0;font-weight:650;line-height:1.2}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}a{color:inherit}.condensed{font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.eyebrow{font-size:var(--fs-sm);color:var(--text);font-weight:650}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack{gap:var(--s-3);flex-direction:column;display:flex}.row{align-items:center;gap:var(--s-2);display:flex}.spacer{flex:1}@keyframes sheet-in{0%{opacity:0;transform:translate(24px)}}.logo{flex:none;place-items:center;display:inline-grid}.logo img{width:100%;height:100%;display:block}.logo-full{object-fit:contain;flex:none;width:auto;max-width:100%;display:block}.logo--badge{background:#fff;border-radius:7px;padding:2px;box-shadow:0 0 0 1px #ffffff26}
