:root{--color-bg:oklch(99.5% .002 250);--color-surface:oklch(100% 0 0);--color-border:oklch(92% .008 250);--color-border-strong:oklch(87% .01 250);--color-text:oklch(18% .02 260);--color-text-muted:oklch(52% .02 260);--color-text-subtle:oklch(65% .015 260);--color-accent:oklch(60% .18 265);--color-accent-hover:oklch(54% .19 265);--color-accent-soft:color-mix(in oklch, var(--color-accent) 10%, transparent);--color-accent-text:oklch(99% .005 60);--color-danger:oklch(58% .22 27);--color-danger-hover:oklch(52% .22 27);--color-danger-soft:oklch(96% .03 27);--color-success:oklch(62% .15 155);--color-success-soft:oklch(96% .04 155);--color-sidebar-bg:oklch(22% .02 260);--color-sidebar-border:oklch(32% .03 255);--color-sidebar-text:oklch(75% .015 260);--color-sidebar-text-active:oklch(99% .005 250);--color-sidebar-hover-bg:oklch(32% .03 255/.6);--color-sidebar-active-bg:color-mix(in oklch, var(--color-accent) 25%, oklch(32% .03 255));--radius-sm:.5rem;--radius-md:.625rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 1px 3px 0 #00000014, 0 1px 2px -1px #00000014;--shadow-lg:0 12px 28px #00000024;--font-sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--transition:.15s ease}*{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{letter-spacing:-.01em;font-weight:600}a{color:var(--color-accent)}button{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}input[type=text],input[type=email],input[type=password],input[type=search],input[type=date],input[type=datetime-local],input[type=tel],select,textarea{font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);transition:border-color var(--transition), box-shadow var(--transition);padding:.5rem .65rem}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.5 7.5L10 12l4.5-4.5' stroke='%239ca3af' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;background-size:16px;padding-right:2rem}input[type=text]:hover,input[type=email]:hover,input[type=password]:hover,input[type=search]:hover,input[type=date]:hover,input[type=datetime-local]:hover,input[type=tel]:hover,select:hover,textarea:hover{border-color:var(--color-text-subtle)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=tel]:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}button{cursor:pointer;transition:background-color var(--transition), border-color var(--transition), color var(--transition), opacity var(--transition)}button:disabled{cursor:default;opacity:.55}.btn{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);align-items:center;gap:.4rem;padding:.5rem 1.1rem;font-size:.85rem;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--color-text-subtle)}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-danger{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-soft);border-color:var(--color-danger)}.btn-danger.btn-primary{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-danger.btn-primary:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.btn-sm{padding:.35rem .85rem;font-size:.8rem}.link-quiet{font-weight:500;text-decoration:none}.link-quiet:hover{text-decoration:underline}.segmented-toggle{gap:.4rem;display:flex}.segmented-toggle button{border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-muted);padding:.4rem .9rem;font-size:.82rem;font-weight:500}.segmented-toggle button.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.field{flex-direction:column;gap:.35rem;display:flex}.field-label-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.field-label{color:var(--color-text-muted);font-size:.85rem;font-weight:500}.field-required{color:var(--color-danger);margin-left:.15rem}.field-label-action{font-size:.78rem}.field-label-action a,.field-label-action button{color:var(--color-accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.field-control{width:100%;font:inherit}.field-error{color:var(--color-danger);font-size:.78rem}.field-hint{color:var(--color-text-subtle);font-size:.78rem}.backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0f111780;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:min(420px,90vw);display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;display:flex}.modal-header h2{margin:0;font-size:1.05rem}.close{color:var(--color-text-subtle);background:0 0;border:none;padding:0;font-size:1.4rem;line-height:1}.close:hover{color:var(--color-text)}.modal .body{padding:1.1rem 1.4rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-border);justify-content:flex-end;align-items:center;gap:.6rem;padding:1rem 1.4rem;display:flex}
