:root{--z-canvas: 1;--z-panel: 10;--z-panel-floating: 20;--panel-top-height: 3.25rem;--panel-left-width: 460px;--panel-right-width: 520px;--panel-gap: .75rem;--radius-sm: 4px;--radius-control: 6px;--radius-card: 8px;--control-height: 2.25rem;--control-height-sm: 1.875rem;--z-dropdown: 1000;--z-popup: 1500;--z-backdrop: 2000;--z-modal: 2010;--color-bg-base: #f8f9fa;--color-bg-surface: #ffffff;--color-surface-hover: #f1f5f9;--color-surface-active: #e2e8f0;--color-text-primary: #1a1d20;--color-text-secondary: #64748b;--color-border: #e2e8f0;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-error: #dc2626;--color-error-bg: rgba(220, 38, 38, .08);--color-error-border: rgba(220, 38, 38, .25);--color-success: #16a34a;--color-success-bg: rgba(22, 163, 74, .08);--color-success-border: rgba(22, 163, 74, .25);--color-backdrop: rgba(15, 23, 42, .45);--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04);--shadow-modal: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1)}:root[data-theme=dark]{--color-bg-base: #0f172a;--color-bg-surface: #1e293b;--color-surface-hover: #334155;--color-surface-active: #475569;--color-text-primary: #f8fafc;--color-text-secondary: #94a3b8;--color-border: #334155;--color-primary: #3b82f6;--color-primary-hover: #60a5fa;--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .15);--color-error-border: rgba(239, 68, 68, .35);--color-success: #22c55e;--color-success-bg: rgba(34, 197, 94, .15);--color-success-border: rgba(34, 197, 94, .35);--color-backdrop: rgba(0, 0, 0, .75);--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .45), 0 2px 4px rgba(0, 0, 0, .25);--shadow-modal: 0 20px 25px -5px rgba(0, 0, 0, .55), 0 8px 10px -6px rgba(0, 0, 0, .45)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg-base: #0f172a;--color-bg-surface: #1e293b;--color-surface-hover: #334155;--color-surface-active: #475569;--color-text-primary: #f8fafc;--color-text-secondary: #94a3b8;--color-border: #334155;--color-primary: #3b82f6;--color-primary-hover: #60a5fa;--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .15);--color-error-border: rgba(239, 68, 68, .35);--color-success: #22c55e;--color-success-bg: rgba(34, 197, 94, .15);--color-success-border: rgba(34, 197, 94, .35);--color-backdrop: rgba(0, 0, 0, .75);--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .45), 0 2px 4px rgba(0, 0, 0, .25);--shadow-modal: 0 20px 25px -5px rgba(0, 0, 0, .55), 0 8px 10px -6px rgba(0, 0, 0, .45)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{font-family:Jura,sans-serif;font-size:1rem;line-height:1.5;font-weight:400;color:var(--color-text-primary);overflow:hidden;background-color:var(--color-bg-base);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background-color .15s ease,color .15s ease}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.u-flex-col{display:flex;flex-direction:column}.u-flex-row-center{display:flex;align-items:center}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-fill-parent{position:absolute;inset:0;width:100%;height:100%}.u-num{text-align:right;font-variant-numeric:tabular-nums}.u-muted{color:var(--color-text-secondary)}.card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:1.25rem;color:var(--color-text-primary)}.popup-box{position:fixed;z-index:var(--z-popup);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);box-shadow:var(--shadow-dropdown);color:var(--color-text-primary);padding:.5rem;max-height:18rem;overflow-y:auto}.popup-box::-webkit-scrollbar{width:6px;height:6px}.popup-box::-webkit-scrollbar-track{background:transparent}.popup-box::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:var(--radius-control)}.popup-box::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-secondary)}.modal-backdrop{position:fixed;inset:0;width:100vw;height:100vh;background-color:var(--color-backdrop);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-backdrop);display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .15s ease forwards}.modal-backdrop>.card{position:relative;z-index:var(--z-modal);display:flex;flex-direction:column;width:100%;max-width:32rem;max-height:calc(100vh - 2rem);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);color:var(--color-text-primary);padding:1.25rem;overflow-y:auto;transition:max-width .25s cubic-bezier(.16,1,.3,1),height .25s cubic-bezier(.16,1,.3,1)}.modal-backdrop>.card::-webkit-scrollbar{width:6px;height:6px}.modal-backdrop>.card::-webkit-scrollbar-track{background:transparent}.modal-backdrop>.card::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:var(--radius-control)}.modal-backdrop>.card::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-secondary)}.modal-backdrop>.card.modal-sm{max-width:24rem}.modal-backdrop>.card.modal-md{max-width:38rem}.modal-backdrop>.card.modal-lg,.modal-backdrop>.card.modal-wide{max-width:min(52rem,92vw)}.modal-backdrop>.card.modal-xl{max-width:min(72rem,96vw);height:90vh}.modal-backdrop>.card.modal-full{max-width:calc(100vw - 2rem);height:calc(100vh - 2rem);border-radius:var(--radius-base)}@media(max-width:640px){.modal-backdrop{padding:.5rem;align-items:flex-end}.modal-backdrop>.card{max-width:100%!important;max-height:calc(100vh - 1rem);border-bottom-left-radius:0;border-bottom-right-radius:0;padding:1rem}}.alert-banner{padding:.625rem .75rem;border-radius:var(--radius-control);font-size:.916rem;line-height:1.4;font-weight:500;border:1px solid transparent}.alert-banner--error{background-color:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error)}.alert-banner--success{background-color:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .75s linear infinite}.anim-slide-top,.top-to-bottom-in{animation:slideTopIn .25s cubic-bezier(.16,1,.3,1) forwards}.anim-slide-left,.left-to-right-in{animation:slideLeftIn .25s cubic-bezier(.16,1,.3,1) forwards}.right-to-left-in{animation:slideRightIn .25s cubic-bezier(.16,1,.3,1) forwards}.right-to-left-out{animation:slideRightOut .15s ease forwards}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideTopIn{0%{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideLeftIn{0%{opacity:0;transform:translate(-12px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes slideRightIn{0%{opacity:0;transform:translate(24px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes slideRightOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(24px) scale(.98)}}
