@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--font-display:"Bricolage Grotesque", sans-serif;--font-body:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace;--ofix-red:#ed1822;--ofix-blue:#104c95;--ofix-white:#fff;--ofix-black:#050505;--bg:#f7f7f9;--bg-deep:#ececf1;--bg-grid:#104c950f;--paper:#ffffffd1;--paper-strong:#fffffff0;--paper-border:#0505051a;--ink:#0c0c0f;--ink-soft:#50545f;--accent:var(--ofix-red);--accent-strong:#c8101a;--accent-alt:var(--ofix-blue);--accent-alt-strong:#0d3f7b;--gold:#f25b63;--danger:#ed1822;--ok:#104c95;--shadow:0 24px 70px #1017291f;--line-soft:#05050514;--surface-quiet:#104c950d;--surface-alert:#ed182214;--surface-contrast:#050505e6;--signature-ink:#132821;--radius-xl:32px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px}:root[data-theme=dark]{--bg:#09090c;--bg-deep:#14141b;--bg-grid:#ffffff0a;--paper:#14141bc2;--paper-strong:#101016eb;--paper-border:#ffffff17;--ink:#fafafa;--ink-soft:#a6adbb;--accent:#ff3b45;--accent-strong:#ed1822;--accent-alt:#2b6cbe;--accent-alt-strong:#104c95;--gold:#ff6d74;--danger:#ff4a54;--ok:#4d8ee1;--shadow:0 28px 80px #00000073;--line-soft:#ffffff14;--surface-quiet:#104c9529;--surface-alert:#ed182229;--surface-contrast:#fffffff0;--signature-ink:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{min-width:320px;min-height:100vh;font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at top left, #ed182229, transparent 26%), radial-gradient(circle at 86% 10%, #104c9529, transparent 28%), linear-gradient(180deg, var(--bg) 0%, var(--bg-deep) 100%);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;transition:background .25s,color .25s}body:before{content:"";pointer-events:none;opacity:.33;background-image:linear-gradient(var(--bg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--bg-grid) 1px, transparent 1px);background-size:28px 28px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 78%);mask-image:radial-gradient(circle,#000,#0000 78%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}#root{min-height:100vh}.page{gap:1.5rem;display:grid}.page-grid{gap:1.25rem;display:grid}.page-grid.two{grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr)}.page-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.section-card{border:1px solid var(--paper-border);background:linear-gradient(180deg, var(--paper-strong), var(--paper));box-shadow:var(--shadow);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:relative;overflow:hidden}.section-card:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff38,#0000 40%);position:absolute;inset:0}.section-card__inner{z-index:1;padding:1.5rem;position:relative}.evidence-card{box-shadow:none;background:#fffcf694}:root[data-theme=dark] .evidence-card{background:#101c2dc2;border-color:#ffffff24}:root[data-theme=dark] .evidence-card .page-copy,:root[data-theme=dark] .evidence-card .field label{color:#dbe7f6}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header__copy{gap:.35rem;display:grid}.eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-alt);font-size:.75rem}.page-title,.hero-title{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.6rem);line-height:.96}.page-copy,.muted{color:var(--ink-soft);margin:0;line-height:1.6}.button-row,.chip-row,.list-grid{flex-wrap:wrap;gap:.75rem;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.field{gap:.45rem;display:grid}.field label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.75rem}.field--schedule label{color:var(--ink)}.field input,.field select,.field textarea{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:color-mix(in srgb, var(--paper-strong) 84%, transparent);width:100%;color:var(--ink);outline:none;padding:.95rem 1rem;transition:border-color .2s,transform .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:color-mix(in srgb, var(--accent-alt) 62%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-alt) 14%, transparent)}.field textarea{resize:vertical;min-height:120px}.button,.ghost-button,.danger-button,.tab-button{border:0;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:46px;padding:.85rem 1.2rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s,color .2s;display:inline-flex}.button{color:var(--ofix-white);background:linear-gradient(135deg, var(--accent), var(--accent-strong));box-shadow:0 14px 30px color-mix(in srgb, var(--accent) 28%, transparent)}.button:hover,.ghost-button:hover,.danger-button:hover,.tab-button:hover{transform:translateY(-1px)}.button:disabled,.ghost-button:disabled,.danger-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.ghost-button{border:1px solid var(--line-soft);color:var(--ink);background:color-mix(in srgb, var(--paper-strong) 78%, transparent)}.danger-button{color:var(--ofix-white);background:linear-gradient(135deg, #ff5a63, var(--danger));box-shadow:0 14px 30px color-mix(in srgb, var(--danger) 24%, transparent)}.tab-button{background:color-mix(in srgb, var(--paper) 86%, transparent);color:var(--ink-soft)}.tab-button.is-active{background:linear-gradient(135deg, var(--accent-alt), var(--accent-alt-strong));color:var(--ofix-white)}.pill{background:var(--surface-quiet);color:var(--ink);border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .8rem;font-size:.86rem;display:inline-flex}.pill strong,.metric-value,.table-cell--mono{font-family:var(--font-mono)}.table-shell{overflow:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line-soft);padding:1rem .8rem}.table th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);font-size:.72rem}.table tbody tr{transition:background .2s}.table tbody tr:hover{background:color-mix(in srgb, var(--accent-alt) 8%, transparent)}.status-badge{background:#13282114;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .8rem;font-size:.82rem;font-weight:600;display:inline-flex}.status-badge[data-tone=pending]{background:color-mix(in srgb, var(--accent-alt) 16%, transparent);color:var(--accent-alt)}.status-badge[data-tone=success]{background:color-mix(in srgb, var(--ok) 16%, transparent);color:var(--ok)}.status-badge[data-tone=danger]{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.status-badge[data-tone=neutral]{background:color-mix(in srgb, var(--ink) 10%, transparent);color:var(--ink-soft)}.inline-message{border-radius:var(--radius-lg);border:1px solid #0000;padding:.95rem 1rem;line-height:1.5}.inline-message[data-tone=info]{color:var(--accent-alt);background:color-mix(in srgb, var(--accent-alt) 10%, transparent);border-color:color-mix(in srgb, var(--accent-alt) 18%, transparent)}.inline-message[data-tone=danger]{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:color-mix(in srgb, var(--danger) 18%, transparent)}.inline-message[data-tone=success]{color:var(--ok);background:color-mix(in srgb, var(--ok) 10%, transparent);border-color:color-mix(in srgb, var(--ok) 18%, transparent)}.empty-state,.loading-view,.public-shell,.auth-shell{min-height:100vh}.loading-view,.public-shell,.auth-shell,.empty-state{place-items:center;padding:2rem;display:grid}.loading-card,.empty-card,.public-card{border-radius:calc(var(--radius-xl) + 4px);border:1px solid var(--paper-border);background:linear-gradient(180deg, var(--paper-strong), var(--paper));width:min(100%,920px);box-shadow:var(--shadow)}.loading-card__inner,.empty-card__inner,.public-card__inner{padding:clamp(1.5rem,4vw,2.5rem)}.loader-ring{border:4px solid color-mix(in srgb, var(--accent-alt) 18%, transparent);border-top-color:var(--accent);border-radius:999px;width:48px;height:48px;animation:.8s linear infinite spin}.spinner{color:var(--ink-soft);align-items:center;gap:.7rem;display:inline-flex}.spinner--inline{min-height:1.5rem}.spinner__ring{border:3px solid color-mix(in srgb, var(--accent-alt) 16%, transparent);border-top-color:var(--accent);border-radius:999px;flex-shrink:0;width:22px;height:22px;animation:.7s linear infinite spin}.spinner[data-size=sm] .spinner__ring{border-width:2px;width:16px;height:16px}.spinner[data-size=lg] .spinner__ring{border-width:4px;width:30px;height:30px}.spinner__label{font-size:.92rem;line-height:1.2}.loading-panel{border-radius:var(--radius-lg);border:1px dashed color-mix(in srgb, var(--accent-alt) 20%, transparent);background:color-mix(in srgb, var(--surface-quiet) 78%, transparent);place-items:center;min-height:160px;padding:1.5rem;display:grid}.loading-panel--compact{min-height:84px;padding:1rem 1.1rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.metric-card{border-radius:var(--radius-lg);border:1px solid var(--line-soft);background:color-mix(in srgb, var(--paper) 82%, transparent);gap:.55rem;min-width:0;padding:1.2rem;display:grid}.metric-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);overflow-wrap:anywhere;font-size:.72rem}.metric-value{color:var(--ink);overflow-wrap:anywhere;min-width:0;font-size:clamp(1.4rem,3vw,2.2rem)}.metric-value .spinner__label{font-family:var(--font-body);font-size:1rem}.metric-caption{color:var(--ink-soft);overflow-wrap:anywhere;font-size:.95rem}.signature-pad{gap:.75rem;display:grid}.signature-pad__canvas{border-radius:var(--radius-lg);border:1px dashed color-mix(in srgb, var(--accent-alt) 26%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--paper-strong) 90%, transparent), color-mix(in srgb, var(--paper) 86%, transparent)), repeating-linear-gradient(0deg, transparent 0, transparent 28px, color-mix(in srgb, var(--accent-alt) 8%, transparent) 28px, color-mix(in srgb, var(--accent-alt) 8%, transparent) 29px);touch-action:none;width:100%;min-height:220px}.signature-preview{border-radius:var(--radius-lg);border:1px solid var(--line-soft);background:color-mix(in srgb, var(--paper) 80%, transparent);padding:1rem}.timeline{gap:.9rem;display:grid}.timeline-item{border-left:3px solid color-mix(in srgb, var(--accent) 54%, transparent);background:color-mix(in srgb, var(--paper) 80%, transparent);border-radius:0 var(--radius-md) var(--radius-md) 0;gap:.35rem;padding:1rem 1.1rem;display:grid}.shell{grid-template-columns:290px minmax(0,1fr);min-height:100vh;display:grid}.shell-sidebar{grid-template-rows:auto minmax(0,1fr) auto;gap:1rem;height:100vh;padding:1.35rem;display:grid;position:sticky;top:0;overflow:hidden}.shell-main{padding:1.35rem 1.35rem 2rem 0}.nav-panel,.brand-panel,.profile-panel{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--paper-strong) 84%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:calc(var(--radius-xl) - 4px);box-shadow:var(--shadow)}.brand-panel,.profile-panel{padding:1.1rem 1.2rem}.brand-panel__top{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.brand-logo{flex:none}.brand-title{font-family:var(--font-display);margin:.85rem 0 .35rem;font-size:1.8rem;line-height:.95}.nav-panel{overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;gap:.35rem;min-height:0;padding:.7rem;display:grid;overflow-y:auto}.nav-link{color:var(--ink-soft);border-radius:18px;align-items:center;gap:.9rem;padding:.95rem 1rem;transition:background .2s,color .2s,transform .2s;display:flex}.nav-link:hover{background:color-mix(in srgb, var(--accent-alt) 10%, transparent);color:var(--ink);transform:translate(2px)}.nav-link.active{background:linear-gradient(135deg, var(--accent), var(--accent-alt));color:var(--ofix-white);box-shadow:0 16px 32px color-mix(in srgb, var(--accent) 18%, transparent)}.nav-link__icon{justify-content:center;align-items:center;display:inline-flex}.nav-link__copy{gap:.1rem;display:grid}.nav-link__title{font-weight:700}.nav-link__hint{opacity:.8;font-size:.84rem}.shell-stage{gap:1.35rem;display:grid}.hero-card{padding:clamp(1.25rem,3vw,2rem)}.hero-slab{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:end;gap:1.25rem;display:grid}.hero-panel{border-radius:var(--radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 7%, transparent), color-mix(in srgb, var(--accent-alt) 9%, transparent));border:1px solid var(--line-soft);padding:1.2rem}.auth-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:1.5rem;width:min(100%,1120px);display:grid}.auth-art,.auth-form{min-height:660px}.auth-art__inner,.auth-form__inner{height:100%;padding:clamp(1.5rem,4vw,2.4rem)}.auth-art__inner{color:#fff9ef;background:radial-gradient(circle at 15% 20%,#ffffff1f,#0000 24%),radial-gradient(circle at 80% 12%,#104c9557,#0000 26%),linear-gradient(145deg,#17181f,#0d111a 48%,#104c95 100%);align-content:space-between;gap:2rem;display:grid}.auth-map{border-radius:var(--radius-xl);background:linear-gradient(#ffffff14,#0000),radial-gradient(circle,#ed18223d,#0000 40%),repeating-linear-gradient(135deg,#fff9ef17 0 10px,#0000 10px 22px);border:1px solid #fff9ef24;min-height:260px}.auth-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.auth-toolbar__logo{flex:none}.ofix-logo{object-fit:contain;width:auto}.ofix-logo--toolbar{height:55px}.ofix-logo--sidebar{height:37px}.auth-form__inner{align-content:start;gap:1.4rem;display:grid}.period-grid{gap:1rem;display:grid}.period-group{border-radius:var(--radius-lg);border:1px solid var(--line-soft);background:color-mix(in srgb, var(--paper) 82%, transparent);padding:1rem}.period-group__title{margin:0 0 .8rem;font-weight:700}.period-chip{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--paper-strong) 80%, transparent);color:var(--ink-soft);border-radius:999px;align-items:center;gap:.5rem;padding:.7rem .9rem;display:inline-flex}.period-chip.is-selected{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 24%, transparent);color:var(--accent)}.month-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.month-card{border-radius:var(--radius-lg);border:1px solid var(--line-soft);background:color-mix(in srgb, var(--paper) 82%, transparent);padding:1rem}.month-card__title{font-family:var(--font-display);text-transform:capitalize;margin:0 0 .8rem;font-size:1.15rem}.month-board{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.month-cell{border-radius:12px;place-items:center;min-height:42px;padding:.4rem;font-size:.86rem;display:grid}.month-cell.is-weekday{min-height:24px;font-family:var(--font-mono);color:var(--ink-soft);font-size:.72rem}.month-cell.is-day{background:color-mix(in srgb, var(--paper) 84%, transparent);color:var(--ink);border:1px solid #0000}.month-cell.is-holiday{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.month-cell.is-selected{outline:2px solid color-mix(in srgb, var(--accent-alt) 42%, transparent)}.theme-toggle{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--paper-strong) 80%, transparent);min-height:40px;color:var(--ink);border-radius:999px;align-items:center;gap:.65rem;padding:.55rem .9rem;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}.theme-toggle:hover{border-color:color-mix(in srgb, var(--accent) 22%, transparent);transform:translateY(-1px)}.theme-toggle__icon{color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.theme-toggle__copy{font-size:.9rem;font-weight:600}.pagination{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.pagination__meta{color:var(--ink-soft);font-size:.9rem}.segmented-panel{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:color-mix(in srgb, var(--paper) 82%, transparent);gap:.85rem;padding:1rem;display:grid}.mono{font-family:var(--font-mono)}.checkbox-row{color:var(--ink);align-items:center;gap:.45rem;display:inline-flex}.checkbox-row input{width:1rem;height:1rem}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.shell{grid-template-columns:1fr}.shell-sidebar{height:auto;position:static}.shell-main{padding:0 1.35rem 2rem}.page-grid.two,.hero-slab,.auth-layout{grid-template-columns:1fr}.auth-art,.auth-form{min-height:auto}}@media (width<=720px){.page-header{flex-direction:column}.form-grid.two{grid-template-columns:1fr}.shell-sidebar,.shell-main,.loading-view,.public-shell,.auth-shell,.empty-state{padding:1rem}.table th:nth-child(3),.table td:nth-child(3),.table th:nth-child(5),.table td:nth-child(5){display:none}}
