:root{--color-primary: #0053e2;--color-primary-hover: #0048c7;--color-primary-dark: #003caa;--color-primary-soft: #edf4ff;--color-accent: #ffc220;--color-accent-foreground: #172033;--color-accent-soft: #fff8dc;--color-bg: #f5f7fb;--color-overlay: rgb(15 35 59 / 54%);--color-surface: #ffffff;--color-surface-subtle: #f8fafc;--color-navigation: #0f3e78;--color-skeleton-base: #edf1f6;--color-skeleton-highlight: #f8fafc;--color-spinner-track: #dbe8ff;--color-text: #14233b;--color-muted: #66758c;--color-border: #e4eaf2;--color-border-strong: #cbd6e4;--color-success: #0e9f6e;--color-success-soft: #ecfdf5;--color-success-border: #b7f0d5;--color-warning: #b7791f;--color-warning-soft: #fff8e6;--color-warning-border: #f9d99a;--color-danger: #d92d20;--color-danger-soft: #fff1f0;--color-danger-border: #fecaca;--color-info: #0053e2;--color-info-border: #bfd6ff;--color-disabled: #9ca8b8;--focus-ring: 0 0 0 3px rgb(0 83 226 / 15%);--shadow-card: 0 1px 2px rgb(20 35 59 / 3%), 0 7px 18px rgb(20 35 59 / 4%);--shadow-sm: 0 1px 2px rgb(20 35 59 / 5%);--shadow-lg: 0 12px 28px rgb(20 35 59 / 9%);--shadow-popover: 0 18px 48px rgb(20 35 59 / 16%);--radius-sm: 9px;--radius-md: 12px;--radius-lg: 14px;--control-height-sm: 34px;--control-height: 38px;--control-height-lg: 42px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--sidebar-expanded: 252px;--sidebar-collapsed: 72px;--topbar-height: 68px;--page-gutter: clamp(16px, 2vw, 30px);--page-max-width: 1440px;--page-block-start: 20px;--page-block-end: 34px;--motion-fast: .16s;--motion-base: .22s;--z-content: 0;--z-header: 20;--z-backdrop: 25;--z-drawer: 30;--z-popover: 40;--z-dialog: 50;--z-toast: 60;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media(max-width:768px){:root{--topbar-height: 60px;--page-gutter: 14px;--page-block-start: 16px;--page-block-end: 26px}}*,*:before,*:after{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%}html{-webkit-text-size-adjust:100%}body,h1,h2,h3,h4,p,dl,dd,figure,blockquote{margin:0}button,input,select,textarea{font:inherit}button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{color:inherit}img,picture,svg,canvas{display:block;max-width:100%}[hidden]{display:none!important}html{background:var(--color-bg);color:var(--color-text);overflow-x:clip}body{min-height:100vh;min-width:320px;overflow-x:clip;background:var(--color-bg);color:var(--color-text);font-size:15px;line-height:1.5;text-rendering:optimizeLegibility}html.has-navigation-drawer,html.has-navigation-drawer body{overflow:hidden}img,svg,video,canvas{max-width:100%}button{border:0}::selection{color:#fff;background:var(--color-primary)}:focus-visible{outline:0;box-shadow:var(--focus-ring)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.page-stack{display:grid;min-width:0;gap:var(--space-5)}.ui-card{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card)}.ui-button{display:inline-flex;min-height:var(--control-height);align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);font-weight:650;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:border-color var(--motion-fast) ease,background var(--motion-fast) ease,color var(--motion-fast) ease,transform var(--motion-fast) ease}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:active:not(:disabled){transform:translateY(0)}.ui-button:disabled,.ui-button[aria-disabled=true]{cursor:not-allowed;opacity:.58}.ui-button--primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.ui-button--primary:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.ui-button--secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.ui-button--secondary:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.ui-button--ghost{border-color:transparent;background:transparent;color:var(--color-primary)}.ui-button--danger{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.ui-button--warning{border-color:var(--color-warning);background:var(--color-warning);color:#fff}.ui-button--block{width:100%}.ui-field{display:grid;min-width:0;align-content:start;gap:var(--space-2);color:var(--color-text);font-weight:600}.ui-label{display:inline-flex;width:fit-content;align-items:baseline;gap:var(--space-1)}.ui-required{color:var(--color-danger)}.ui-control{width:100%;min-width:0;min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:15px;font-weight:500;transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.ui-control:hover{border-color:var(--color-border-strong)}.ui-control:focus{border-color:var(--color-primary);outline:0;box-shadow:var(--focus-ring)}.ui-control[aria-invalid=true]{border-color:var(--color-danger)}.ui-help{margin:0;color:var(--color-muted);font-size:12px;font-weight:500;line-height:1.45}.ui-field-error{margin:0;color:var(--color-danger);font-size:13px;font-weight:600}.ui-alert{margin:0;padding:var(--space-3) var(--space-4);border:1px solid transparent;border-left-width:4px;border-radius:var(--radius-sm);font-weight:700}.ui-alert--error{border-color:var(--color-danger-border);border-left-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.ui-alert--info{border-color:var(--color-info-border);border-left-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-text)}.ui-button svg{width:18px;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;fill:none}.ui-spinner{width:22px;height:22px;border:3px solid var(--color-spinner-track);border-top-color:var(--color-primary);border-radius:50%;animation:ui-spin .8s linear infinite}.ui-icon-button{display:grid;width:var(--control-height);height:var(--control-height);flex:0 0 var(--control-height);place-items:center;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer}.ui-icon-button svg{width:20px;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;fill:none}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-button--sm{min-height:var(--control-height-sm);padding-inline:var(--space-3);font-size:13px}.ui-button--lg{min-height:var(--control-height-lg);padding-inline:var(--space-5)}.ui-spinner--small{width:16px;height:16px;border-width:2px}.ui-button--primary .ui-spinner,.ui-button--danger .ui-spinner,.ui-button--warning .ui-spinner{border-color:#ffffff5c;border-top-color:#fff}.ui-card--padding-none{padding:0}.ui-card--padding-sm{padding:var(--space-4)}.ui-card--padding-md{padding:var(--space-5)}.ui-card--padding-lg{padding:var(--space-6)}.ui-control--textarea{min-height:112px;padding-block:var(--space-3);resize:vertical}.ui-checkbox{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color var(--motion-fast) ease,background var(--motion-fast) ease}.ui-checkbox:hover:not(.ui-checkbox--disabled){border-color:var(--color-primary);background:var(--color-primary-soft)}.ui-checkbox input{position:absolute;width:1px;height:1px;opacity:0}.ui-checkbox__control{display:grid;width:22px;height:22px;place-items:center;border:1px solid var(--color-border-strong);border-radius:6px;background:var(--color-surface);color:#fff}.ui-checkbox__control svg{width:15px;height:15px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4;fill:none;opacity:0}.ui-checkbox input:checked+.ui-checkbox__control{border-color:var(--color-primary);background:var(--color-primary)}.ui-checkbox input:checked+.ui-checkbox__control svg{opacity:1}.ui-checkbox input:focus-visible+.ui-checkbox__control{box-shadow:var(--focus-ring)}.ui-checkbox--disabled{cursor:not-allowed;opacity:.58}.ui-checkbox__copy{display:grid;gap:var(--space-1)}.ui-checkbox__copy strong{font-size:14px}.ui-checkbox__copy small{color:var(--color-muted);line-height:1.45}.ui-badge{display:inline-flex;min-height:28px;align-items:center;gap:var(--space-2);width:fit-content;padding:4px 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-subtle);color:var(--color-text);font-size:12px;font-weight:650;white-space:nowrap}.ui-badge__dot{width:7px;height:7px;border-radius:50%;background:currentColor}.ui-badge--primary,.ui-badge--info{border-color:var(--color-info-border);background:var(--color-primary-soft);color:var(--color-primary)}.ui-badge--success{border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success)}.ui-badge--warning{border-color:var(--color-warning-border);background:var(--color-warning-soft);color:var(--color-warning)}.ui-badge--danger{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger)}.ui-alert--success{border-color:var(--color-success-border);border-left-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.ui-alert--warning{border-color:var(--color-warning-border);border-left-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning)}.ui-alert__title{display:block;margin-bottom:var(--space-1)}.ui-alert__body>:last-child{margin-bottom:0}.modal-open{overflow:hidden}.ui-modal-backdrop{position:fixed;z-index:var(--z-dialog);inset:0;display:grid;place-items:center;padding:var(--space-4);background:#0f172a94}.ui-modal{display:grid;width:min(100%,620px);max-height:calc(100dvh - 32px);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-popover)}.ui-modal--sm{width:min(100%,460px)}.ui-modal--lg{width:min(100%,880px)}.ui-modal__header,.ui-modal__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.ui-modal__header{border-bottom:1px solid var(--color-border)}.ui-modal__footer{justify-content:flex-end;border-top:1px solid var(--color-border)}.ui-modal__header h2{margin:0;font-size:21px}.ui-modal__header p{margin:var(--space-1) 0 0;color:var(--color-muted);font-size:14px}.ui-modal__body{overflow:auto;padding:var(--space-6)}.ui-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.ui-pagination p{margin:0;color:var(--color-muted);font-size:13px}.ui-pagination>div{display:flex;align-items:center;gap:var(--space-3)}.ui-pagination span{color:var(--color-muted);font-size:13px;font-weight:700}.ui-tabs{display:flex;gap:var(--space-1);overflow-x:auto;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.ui-tabs button{display:inline-flex;min-height:38px;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);font-weight:650;white-space:nowrap;cursor:pointer}.ui-tabs button[aria-selected=true]{background:var(--color-surface);color:var(--color-primary);box-shadow:0 2px 8px #17203314}.ui-tabs__badge{display:grid;min-width:22px;height:22px;place-items:center;padding-inline:6px;border-radius:999px;background:var(--color-primary-soft);font-size:11px}@media(max-width:640px){.ui-card--padding-md,.ui-card--padding-lg{padding:var(--space-5) var(--space-4)}.ui-modal__header,.ui-modal__body,.ui-modal__footer{padding:var(--space-4)}.ui-modal__footer{align-items:stretch;flex-direction:column-reverse}.ui-modal__footer .ui-button{width:100%}.ui-pagination{align-items:stretch;flex-direction:column}.ui-pagination>div{justify-content:space-between}}.ui-password-control{display:flex;align-items:stretch;padding:0}.ui-password-control:focus-within{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.ui-password-control.has-error{border-color:var(--color-danger)}.ui-password-control__input{min-width:0;flex:1;padding:0 var(--space-3);border:0;outline:0;background:transparent;color:var(--color-text);font:inherit}.ui-password-control__toggle{display:grid;width:46px;flex:0 0 46px;place-items:center;border:0;border-left:1px solid var(--color-border);background:transparent;color:var(--color-muted);cursor:pointer}.ui-password-control__toggle:hover{background:var(--color-surface-subtle);color:var(--color-primary)}.ui-password-control__toggle svg{width:20px;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;fill:none}.mobile-record-list{display:none}@media(max-width:760px){.desktop-record-table{display:none!important}.mobile-record-list{display:grid}.mobile-record-card{display:grid;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--color-border)}.mobile-record-card:last-child{border-bottom:0}}.management-page,.operational-page,.detail-workspace,.form-workspace{display:grid;min-width:0;gap:var(--space-5)}.page-toolbar-surface{min-width:0;padding:var(--space-3) var(--space-4)!important;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:none!important}.page-toolbar-surface :is(label,.ui-field){font-weight:600}.section-surface{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:none}.compact-section-heading{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.compact-section-heading h2{margin:0;font-size:18px;line-height:1.3}.compact-section-heading p{max-width:720px;margin:4px 0 0;color:var(--color-muted);font-size:13px;line-height:1.5}.loading-state{display:flex;min-height:120px;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-muted)}.management-page table th,.operational-page table th{font-weight:650!important;letter-spacing:.025em!important}.management-page table td,.operational-page table td{font-size:14px}.management-page tbody tr:hover,.operational-page tbody tr:hover{background:var(--color-surface-subtle)}@container page (max-width: 760px){.management-page,.operational-page,.detail-workspace,.form-workspace{gap:var(--space-4)}}.management-page,.operational-page,.detail-workspace,.form-workspace{gap:14px!important}.page-toolbar-surface,.filter-card,.table-card,.role-results,.assignment-content{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm)!important}.filter-grid{gap:10px!important}.filter-actions{gap:7px!important}table th{padding:10px 13px!important;background:#f8fafc!important;color:var(--color-muted)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.055em!important}table td{padding:11px 13px!important;font-size:12px!important}.ui-control,input.ui-control,select.ui-control,textarea.ui-control{min-height:var(--control-height)}label,.ui-field__label{font-size:11px}.mobile-record-card{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm)}.page-stack{gap:14px!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-only{display:none!important}@media(max-width:768px){.desktop-only{display:none!important}.mobile-only{display:initial!important}}
