:root{--color-bg: #f2f2f3;--color-surface: #e9e9ea;--color-text: #1d1f20;--color-text-muted: color-mix(in srgb, var(--color-text) 60%, transparent);--color-text-faint: color-mix(in srgb, var(--color-text) 45%, transparent);--color-divider: color-mix(in srgb, var(--color-text) 16%, transparent);--color-divider-soft: color-mix(in srgb, var(--color-text) 8%, transparent);--color-accent: #5980a6;--color-accent-100: #eef6ff;--color-accent-200: #d6ebff;--color-accent-300: #b5d9fd;--color-accent-400: #94bce3;--color-accent-500: #749dc4;--color-accent-600: #597ea3;--color-accent-700: #416180;--color-accent-800: #2c455d;--color-accent-900: #1d2d3d;--color-neutral-100:#f5f5f8;--color-neutral-200:#e7e7ea;--color-neutral-300:#d4d4d7;--color-neutral-400:#b7b7ba;--color-neutral-500:#98989b;--color-neutral-600:#7a7a7d;--color-neutral-700:#5d5d60;--color-neutral-800:#424244;--color-neutral-900:#2b2b2d;--color-success: #4f7a63;--color-warning: #8a6a3a;--color-danger: #a3624f;--color-success-bg: color-mix(in srgb, var(--color-success) 12%, transparent);--color-warning-bg: color-mix(in srgb, var(--color-warning) 12%, transparent);--color-danger-bg: color-mix(in srgb, var(--color-danger) 12%, transparent);--font-heading: "Barlow Condensed", system-ui, sans-serif;--font-body: "Barlow", system-ui, sans-serif;--space-1: 3.4px;--space-2: 6.8px;--space-3: 10.2px;--space-4: 13.6px;--space-6: 20.4px;--space-8: 27.2px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 7px;--shadow-sm: 0 1px 2px color-mix(in srgb, #2b2b2d 14%, transparent);--shadow-md: 0 3px 10px color-mix(in srgb, #2b2b2d 16%, transparent);--shadow-lg: 0 12px 32px color-mix(in srgb, #2b2b2d 22%, transparent)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;line-height:1.12;letter-spacing:-.015em}h2{font-size:32px}h3{font-size:27px}h4{font-size:19px}a{color:var(--color-accent-700);text-decoration:none}a:hover{color:var(--color-accent-800)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-divider);border-radius:2px}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.blueprint{position:relative;border:1px solid var(--color-divider);border-radius:0;background:transparent}.blueprint>.corner{position:absolute;width:11px;height:11px;color:color-mix(in srgb,var(--color-text) 55%,transparent);pointer-events:none}.blueprint>.corner:before,.blueprint>.corner:after{content:"";position:absolute;background:currentColor}.blueprint>.corner:before{left:5px;top:0;width:1px;height:100%}.blueprint>.corner:after{top:5px;left:0;width:100%;height:1px}.blueprint>.corner.tl{top:-6px;left:-6px}.blueprint>.corner.tr{top:-6px;right:-6px}.blueprint>.corner.bl{bottom:-6px;left:-6px}.blueprint>.corner.br{bottom:-6px;right:-6px}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-heading);font-weight:600;font-size:14px;padding:6.8px 12px;border-radius:0;border:1px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-600);border-color:var(--color-accent-600)}.btn-primary:active:not(:disabled){background:var(--color-accent-700);border-color:var(--color-accent-700)}.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-divider)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn-secondary:active:not(:disabled){background:color-mix(in srgb,var(--color-text) 14%,transparent)}.btn-ghost{background:transparent;color:var(--color-accent-700);border-color:transparent}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-ghost:active:not(:disabled){background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.btn-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn-danger:active:not(:disabled){background:color-mix(in srgb,var(--color-danger) 20%,transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;height:40px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;color:var(--color-text-muted)}.input{width:100%;min-height:36px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:0;caret-color:var(--color-accent)}.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{resize:vertical;font-family:var(--font-body);line-height:1.5}.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:0;font-family:var(--font-body);white-space:nowrap}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent-700)}.tag-success{background:var(--color-success-bg);color:var(--color-success)}.tag-warning{background:var(--color-warning-bg);color:var(--color-warning)}.tag-danger{background:var(--color-danger-bg);color:var(--color-danger)}.navitem{transition:background .12s ease,color .12s ease}.navitem:hover{background:color-mix(in srgb,var(--color-text) 5%,transparent)}.rowitem{transition:background .12s ease}.rowitem:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.seg{display:inline-flex;border:1px solid var(--color-divider)}.seg-opt{position:relative;font-size:13px;font-family:var(--font-body);font-weight:500;padding:6px 14px;color:var(--color-text-muted);cursor:pointer;border-right:1px solid var(--color-divider);transition:background .12s ease,color .12s ease}.seg-opt:last-child{border-right:none}.seg-opt input{position:absolute;opacity:0;pointer-events:none}.seg-opt:hover{background:color-mix(in srgb,var(--color-text) 5%,transparent)}.seg-opt:has(input:checked){background:var(--color-accent-100);color:var(--color-accent-800);font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--color-neutral-900) 50%,transparent);display:grid;place-items:center;padding:16px;z-index:1000}.modal-dialog{width:min(440px,100%);background:var(--color-bg);padding:13.6px}.modal-dialog.modal-wide{width:min(520px,100%);padding:0}.app{display:flex;height:100vh;overflow:hidden}.main{flex:1;overflow-y:auto;background:var(--color-bg);min-width:0}.toast{position:fixed;bottom:20px;right:20px;z-index:1100;background:var(--color-bg);padding:12px 16px;font-size:13.5px}.sb-calendar .fc{font-family:var(--font-body);font-size:13px;color:var(--color-text)}.sb-calendar .fc-theme-standard td,.sb-calendar .fc-theme-standard th{border-color:var(--color-divider-soft)}.sb-calendar .fc-theme-standard .fc-scrollgrid{border-color:var(--color-divider)}.sb-calendar .fc-col-header-cell{background:transparent}.sb-calendar .fc-col-header-cell-cushion{font-family:var(--font-heading);font-weight:600;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint);padding:8px 4px}.sb-calendar .fc-daygrid-day-number{font-family:var(--font-heading);font-size:13px;color:var(--color-text-muted);padding:6px}.sb-calendar .fc-day-today{background:var(--color-accent-100)!important}.sb-calendar .fc-day-today .fc-daygrid-day-number{color:var(--color-accent-800);font-weight:600}.sb-calendar .fc-daygrid-event{border-radius:0;margin-bottom:2px}.sb-calendar .fc-daygrid-more-link{font-size:10.5px;color:var(--color-accent-700)}.sb-calendar .fc-multimonth{border-color:var(--color-divider)}.sb-calendar .fc-multimonth-title{font-family:var(--font-heading);font-weight:600;font-size:14px;padding:8px 4px}.sb-calendar a{color:inherit;text-decoration:none}.sb-calendar .fc-daygrid-day-frame{cursor:pointer}.sb-calendar .fc-daygrid-day-frame:hover{background:var(--color-divider-soft)}
