.toast-stack{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:90;display:flex;flex-direction:column;gap:var(--space-2);width:min(380px,calc(100vw - var(--space-8)))}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-gray-200);border-left-width:4px;border-radius:var(--radius-md);background-color:var(--color-white);box-shadow:var(--shadow-lg);animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast-success{border-left-color:var(--color-success);color:var(--color-success)}.toast-error{border-left-color:var(--color-error);color:var(--color-error)}.toast-info{border-left-color:var(--color-primary);color:var(--color-primary)}.toast-message{flex:1;font-size:var(--font-size-sm);color:var(--color-gray-900)}.toast-close{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--color-gray-500)}.toast-close:hover{background-color:var(--color-gray-100);color:var(--color-gray-900)}.system-page{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:560px;margin:var(--space-12) auto;padding:var(--space-8) var(--space-6);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);background-color:var(--color-white);text-align:center}.system-page-inline{margin-top:0}.system-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-full);background-color:var(--color-gray-100);color:var(--color-gray-600)}.system-icon.is-danger{background-color:var(--color-accent-soft);color:var(--color-accent)}.system-icon.is-warning{background-color:var(--color-warning-soft);color:var(--color-warning)}.system-page h1{font-size:var(--font-size-xl)}.system-page h2{font-size:var(--font-size-lg)}.system-page p{max-width:52ch;font-size:var(--font-size-sm);color:var(--color-gray-600)}.system-note{font-size:var(--font-size-xs)!important;color:var(--color-gray-500)!important}.system-code{padding:2px 6px;border-radius:var(--radius-sm);background-color:var(--color-gray-100);font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-gray-800)}.system-page .btn{margin-top:var(--space-2)}.modal-overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-4);background-color:#11111173;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-fade .14s ease-out}@keyframes modal-fade{0%{opacity:0}}.modal{display:flex;flex-direction:column;width:100%;max-height:calc(100vh - var(--space-8));background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:modal-rise .18s ease-out}@keyframes modal-rise{0%{transform:translateY(16px)}}.modal-sm{max-width:460px}.modal-md{max-width:640px}.modal-lg{max-width:900px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--color-gray-200)}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.modal-description{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-gray-600)}.modal-close{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--color-gray-600)}.modal-close:hover{background-color:var(--color-gray-100);color:var(--color-gray-900)}.modal-body{flex:1;overflow-y:auto;padding:var(--space-5)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-gray-200);background-color:var(--color-gray-50);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.form-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.form-grid-2{grid-column:span 1}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4);padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-md)}.checkbox-grid legend{padding-inline:var(--space-2)}.checkbox-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-800);cursor:pointer}.checkbox-item input{width:15px;height:15px;accent-color:var(--color-primary);cursor:pointer}@media(min-width:640px){.modal-overlay{align-items:center}.form-grid{grid-template-columns:1fr 1fr}.form-grid-full{grid-column:1 / -1}}.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-gray-500)}.breadcrumb li{display:flex;align-items:center;gap:var(--space-1)}.breadcrumb a{color:var(--color-gray-500);border-radius:var(--radius-xs);transition:color var(--transition-fast)}.breadcrumb a:hover{color:var(--color-primary);text-decoration:underline}.breadcrumb [aria-current=page]{font-weight:var(--font-weight-semibold);color:var(--color-gray-700)}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-3);margin-bottom:var(--section-gap)}.page-header-text{min-width:0;flex:1}.page-header h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--tracking-tight);color:var(--color-gray-900)}.page-header-description{margin-top:var(--space-2);max-width:78ch;font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--color-gray-600)}.page-header-source{margin-top:var(--space-2);font-size:var(--font-size-2xs);letter-spacing:var(--tracking-wide);color:var(--color-gray-500)}.page-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);flex-shrink:0}.sidebar-scrim{position:fixed;inset:0;z-index:55;background-color:#0d0f1480;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:60;display:flex;flex-direction:column;width:var(--sidebar-width);background-color:var(--surface-ink);border-right:1px solid var(--border-ink);transform:translate(-100%);transition:transform var(--transition-base)}.sidebar.is-open{transform:translate(0);box-shadow:var(--shadow-xl)}.sidebar-head{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-4) var(--space-4);border-bottom:1px solid var(--border-ink);flex-shrink:0}.sidebar-logo{width:132px;height:auto;flex-shrink:0}.sidebar-brand{display:flex;flex-direction:column;min-width:0;flex:1}.sidebar-brand-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-white);line-height:var(--line-height-tight);letter-spacing:var(--tracking-tight)}.sidebar-brand-sub{margin-top:2px;font-size:var(--font-size-2xs);color:var(--color-gray-500);letter-spacing:var(--tracking-wide);text-transform:uppercase}.sidebar-close{position:absolute;top:var(--space-4);right:var(--space-4);display:grid;place-items:center;width:var(--control-height-sm);height:var(--control-height-sm);border-radius:var(--radius-xs);color:var(--color-gray-400);transition:background-color var(--transition-fast),color var(--transition-fast)}.sidebar-close:hover{background-color:var(--surface-ink-hover);color:var(--color-white)}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-3) var(--space-6);scrollbar-width:thin;scrollbar-color:var(--surface-ink-hover) transparent}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background-color:var(--surface-ink-hover)}.sidebar-group+.sidebar-group{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-ink)}.sidebar-group-title{padding-inline:var(--space-3);margin-bottom:var(--space-3);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.sidebar-link{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);margin-bottom:3px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-gray-400);transition:background-color var(--transition-fast),color var(--transition-fast)}.sidebar-link:hover{background-color:var(--surface-ink-raised);color:var(--color-white);text-decoration:none}.sidebar-link:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-primary)}.sidebar-link.is-active{background-color:var(--surface-ink-raised);color:var(--color-white);font-weight:var(--font-weight-semibold)}.sidebar-link.is-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 var(--radius-full) var(--radius-full) 0;background-color:var(--color-accent)}.sidebar-link.is-active svg{color:var(--color-primary-muted)}.sidebar-link-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-tag{flex-shrink:0;padding:1px var(--space-2);border-radius:var(--radius-full);background-color:var(--surface-ink-hover);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);color:var(--color-gray-400)}.sidebar-link.is-active .sidebar-tag{background-color:var(--color-accent);color:var(--color-white)}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--border-ink);font-size:var(--font-size-2xs);line-height:var(--line-height-snug);color:var(--color-gray-500)}@media(min-width:1024px){.sidebar{transform:translate(0)}}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--space-3);min-height:var(--topbar-height);padding:var(--space-4) var(--page-padding);border-bottom:0;background-color:color-mix(in srgb,var(--surface-app) 82%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.topbar-menu{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border:1px solid var(--border-default);border-radius:var(--radius-full);background-color:var(--surface-card);box-shadow:var(--shadow-xs);color:var(--color-gray-700);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.topbar-menu:hover{border-color:var(--color-primary-muted);background-color:var(--color-primary-soft);box-shadow:var(--shadow-sm);color:var(--color-primary)}.topbar-context{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;font-size:var(--font-size-xs);color:var(--color-gray-600)}.topbar-context-site{font-weight:var(--font-weight-semibold);color:var(--color-gray-800)}.topbar-context-sep{color:var(--color-gray-400)}.topbar-context-site{padding:var(--space-2) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-full);background-color:var(--surface-card);box-shadow:var(--shadow-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-gray-800);white-space:nowrap}.topbar-context-sep{display:none}.topbar-context-env{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background-color:var(--color-warning-soft);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-warning-strong);white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:var(--space-2)}.topbar-pop{position:relative}.topbar-icon-button{position:relative;display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border:1px solid var(--border-default);border-radius:var(--radius-full);background-color:var(--surface-card);box-shadow:var(--shadow-xs);color:var(--color-gray-700);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.topbar-icon-button:hover{border-color:var(--color-primary-muted);background-color:var(--color-primary-soft);box-shadow:var(--shadow-sm);color:var(--color-primary)}.topbar-dot{position:absolute;top:2px;right:2px;display:grid;place-items:center;min-width:16px;height:16px;padding-inline:4px;border-radius:var(--radius-full);background-color:var(--color-gray-600);font-size:10px;font-weight:var(--font-weight-bold);color:var(--color-white)}.topbar-dot.is-critical{background-color:var(--color-accent)}.topbar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-full);background-color:var(--surface-card);box-shadow:var(--shadow-xs);color:var(--color-gray-700);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.topbar-user:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.topbar-user:hover{background-color:var(--color-gray-100)}.topbar-avatar{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-full);background-color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-white)}.topbar-user-text{display:none;flex-direction:column;align-items:flex-start;min-width:0}.topbar-user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);line-height:1.2}.topbar-user-role{font-size:11px;color:var(--color-gray-600)}.topbar-panel{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:50;width:min(340px,calc(100vw - var(--space-8)));padding:var(--space-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);background-color:var(--color-white);box-shadow:var(--shadow-lg)}.topbar-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-gray-200)}.topbar-panel-head h2{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.topbar-panel-head span{font-size:var(--font-size-xs)}.topbar-alert-list{display:flex;flex-direction:column;gap:var(--space-1);max-height:320px;overflow-y:auto}.topbar-alert{display:flex;align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);text-align:left}.topbar-alert:hover{background-color:var(--color-gray-50)}.topbar-alert-level{width:7px;height:7px;margin-top:6px;flex-shrink:0;border-radius:var(--radius-full)}.topbar-alert-level.is-critique{background-color:var(--color-accent)}.topbar-alert-level.is-avertissement{background-color:var(--color-warning)}.topbar-alert-level.is-information{background-color:var(--color-info)}.topbar-alert-body{min-width:0}.topbar-alert-title{display:block;font-size:var(--font-size-sm);color:var(--color-gray-900);white-space:normal}.topbar-alert-date{display:block;margin-top:2px;font-size:11px;color:var(--color-gray-500)}.topbar-user-details{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.topbar-user-details div{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--font-size-xs)}.topbar-user-details dt{flex-shrink:0;color:var(--color-gray-600)}.topbar-user-details dd{text-align:right;color:var(--color-gray-900)}.topbar-panel-user .simulation-note{width:100%;margin-bottom:var(--space-3)}@media(min-width:1024px){.topbar-menu{display:none}.topbar-user-text{display:flex}}.admin-shell{min-height:100vh;background-color:var(--surface-app)}.admin-main{display:flex;flex-direction:column;min-height:100vh;min-width:0}.admin-content{flex:1;width:100%;max-width:var(--content-max-width);padding:0 var(--page-padding) var(--space-16)}.admin-content:focus{outline:none}@media(min-width:1024px){.admin-main{margin-left:var(--sidebar-width)}}.panel{background-color:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.panel+.panel{margin-top:var(--section-gap)}.panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--border-subtle)}.panel-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.panel-subtitle{margin-top:2px;font-size:var(--font-size-xs);color:var(--color-gray-600)}.panel-body{padding:var(--space-4)}.filter-bar{display:grid;grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-gray-200);background-color:var(--color-gray-50)}.filter-bar-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2)}.detail-list{display:flex;flex-direction:column;gap:var(--space-3)}.detail-list>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-gray-100)}.detail-list>div:last-child{padding-bottom:0;border-bottom:none}.detail-list dt{font-size:var(--font-size-xs);color:var(--color-gray-600)}.detail-list dd{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-900);text-align:right}.grid{display:grid;gap:var(--space-4)}.grid-kpi{grid-template-columns:1fr}.grid-mini{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-split{grid-template-columns:1fr}.section-gap{margin-top:var(--space-5)}@media(min-width:640px){.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.filter-bar,.grid-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-mini{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-split{grid-template-columns:3fr 2fr}}@media(min-width:1280px){.filter-bar{grid-template-columns:repeat(4,minmax(0,1fr))}}.public-shell{display:grid;grid-template-columns:1fr;min-height:100vh;background-color:var(--color-gray-100)}.public-aside{display:none;flex-direction:column;justify-content:space-between;gap:var(--space-8);padding:var(--space-12) var(--space-10);background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.14),transparent 55%),linear-gradient(160deg,var(--color-primary) 0%,var(--color-primary-active) 100%);color:var(--color-white)}.public-logo{width:168px;height:auto}.public-aside-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1.25}.public-aside-sub{margin-top:var(--space-3);max-width:40ch;font-size:var(--font-size-md);line-height:1.6;color:#ffffffd9}.public-aside-foot{font-size:var(--font-size-xs);color:#fff9}.public-main{display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--page-padding)}@media(min-width:900px){.public-shell{grid-template-columns:1fr 1fr}.public-aside{display:flex}}@media(min-width:1280px){.public-shell{grid-template-columns:5fr 4fr}}.auth-card{width:100%;max-width:440px;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-8) var(--space-6);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);background-color:var(--color-white);box-shadow:var(--shadow-md)}.auth-logo{width:108px;height:auto}.auth-head h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.auth-head p{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-600)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-code{height:56px;font-family:var(--font-family-mono);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:.5em;text-align:center;text-indent:.5em}.auth-error{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-error);border-radius:var(--radius-md);background-color:var(--color-error-soft);color:var(--color-error);font-size:var(--font-size-sm)}.auth-error-title{font-weight:var(--font-weight-semibold)}.auth-error div p:last-child{margin-top:2px;color:var(--color-gray-800)}.auth-steps{padding:var(--space-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background-color:var(--color-gray-50)}.auth-steps-title{margin-bottom:var(--space-3);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.06em}.auth-steps ol{display:flex;flex-direction:column;gap:var(--space-2)}.auth-steps li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-500)}.auth-steps li.is-current{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.auth-steps li.is-done{color:var(--color-success)}.auth-legal{font-size:11px;line-height:1.5;color:var(--color-gray-500)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{min-height:100vh}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit;background:none;border:none;border-radius:0}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:root{--color-primary: #0043ab;--color-primary-hover: #00388f;--color-primary-active: #002e75;--color-primary-soft: #eaf0fc;--color-primary-muted: #b9cdf0;--color-accent: #e60012;--color-accent-hover: #c90010;--color-accent-active: #ae000e;--color-accent-soft: #fff0f1;--color-black: #0d0f14;--color-white: #ffffff;--color-gray-900: #0d0f14;--color-gray-800: #1c2029;--color-gray-700: #3d4451;--color-gray-600: #626b7b;--color-gray-500: #8b93a3;--color-gray-400: #b3bac7;--color-gray-300: #d5dae3;--color-gray-200: #e6eaf0;--color-gray-100: #f1f4f9;--color-gray-50: #f7f9fc;--color-success: #0f8a4d;--color-success-soft: #e7f7ee;--color-success-strong: #0a6238;--color-warning: #b45309;--color-warning-soft: #fff5e6;--color-warning-strong: #7c3a05;--color-error: #c62828;--color-error-soft: #fdeded;--color-error-strong: #8f1d1d;--color-info: #1769aa;--color-info-soft: #eaf3fd;--color-info-strong: #0f4a7a;--surface-app: #eef2f8;--surface-card: #ffffff;--surface-sunken: #f7f9fc;--surface-hover: #f1f4f9;--surface-ink: #012152;--surface-ink-raised: #062f74;--surface-ink-hover: #0d4291;--border-subtle: #eef1f6;--border-default: #e2e7ef;--border-strong: #cbd3df;--border-ink: rgba(255, 255, 255, .12);--font-family-base: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", monospace;--font-size-2xs: 10.5px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14.5px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 38px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-base: 1.55;--line-height-relaxed: 1.7;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-wider: .08em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgba(13, 15, 20, .04);--shadow-sm: 0 1px 2px rgba(13, 15, 20, .05), 0 2px 6px rgba(13, 15, 20, .04);--shadow-md: 0 1px 2px rgba(13, 15, 20, .05), 0 8px 20px rgba(13, 15, 20, .06);--shadow-lg: 0 2px 4px rgba(13, 15, 20, .06), 0 18px 40px rgba(13, 15, 20, .1);--shadow-xl: 0 8px 16px rgba(13, 15, 20, .08), 0 32px 72px rgba(13, 15, 20, .16);--shadow-focus: 0 0 0 3px rgba(0, 67, 171, .16);--sidebar-width: 264px;--topbar-height: 68px;--content-max-width: 1560px;--control-height: 40px;--control-height-sm: 32px;--control-height-lg: 46px;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .18s cubic-bezier(.4, 0, .2, 1);--page-padding: 16px;--section-gap: var(--space-5)}@media(min-width:768px){:root{--page-padding: 24px;--section-gap: var(--space-6)}}@media(min-width:1200px){:root{--page-padding: 36px;--section-gap: var(--space-7)}}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms;--transition-base: 0ms}}body{font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:1.5;color:var(--color-gray-900);background-color:var(--color-gray-100);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1.25}h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.3}h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:1.35}.state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center}.state-block-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-gray-800)}.state-block-text{max-width:46ch;font-size:var(--font-size-sm);color:var(--color-gray-600)}.state-spinner{width:26px;height:26px;border:2px solid var(--color-gray-300);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:state-spin .72s linear infinite}@keyframes state-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.state-spinner{animation-duration:2s}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.skeleton{background-color:var(--color-gray-200);border-radius:var(--radius-sm);animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.simulation-note{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px dashed var(--color-warning);border-radius:var(--radius-sm);background-color:var(--color-warning-soft);font-size:var(--font-size-xs);color:#8a4b00}.impact-box{padding:var(--space-3);border:1px solid var(--color-error);border-radius:var(--radius-sm);background-color:var(--color-error-soft)}.impact-title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--font-size-sm);font-weight:600;color:var(--color-error)}.impact-list{margin:0;padding-left:var(--space-5);font-size:var(--font-size-xs);line-height:1.6;color:var(--color-gray-800)}.impact-list li+li{margin-top:var(--space-1)}.panel-note{margin:0 0 var(--space-4);padding:var(--space-3);border-left:3px solid var(--color-primary);background-color:var(--color-primary-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--font-size-xs);line-height:1.6;color:var(--color-gray-800)}.checkbox-stack{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-1)}.checkbox-line{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-800);cursor:pointer}.checkbox-line input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.plain-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm)}.plain-list li{display:flex;align-items:center;gap:var(--space-2)}.workflow-grid{display:flex;flex-direction:column;gap:var(--space-5)}.workflow-steps{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:0;padding:0;list-style:none}.workflow-steps li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background-color:var(--color-gray-50);font-size:var(--font-size-sm)}.workflow-step-index{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background-color:var(--color-primary);color:var(--color-white);font-size:var(--font-size-xs);font-weight:600;flex-shrink:0}.workflow-fieldset{margin:0 0 var(--space-4);padding:var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm)}.workflow-fieldset legend{padding:0 var(--space-2);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-600)}.alert-list{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}.alert-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background-color:var(--color-white)}.alert-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.surface{background-color:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md)}.card{padding:var(--space-5);background-color:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.text-muted{color:var(--color-gray-600)}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.num{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight);text-align:right;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding-inline:var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);background:none;font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.btn:hover{text-decoration:none}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-lg{min-height:var(--control-height-lg);padding-inline:var(--space-6);font-size:var(--font-size-md)}.btn-sm{min-height:var(--control-height-sm);padding-inline:var(--space-3);border-radius:var(--radius-xs);font-size:var(--font-size-xs)}.btn-block{width:100%}.btn-primary{background-color:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-active);box-shadow:none}.btn-secondary{background-color:var(--color-primary-soft);color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary-muted);color:var(--color-primary-active)}.btn-outline{border-color:var(--border-default);background-color:var(--surface-card);color:var(--color-gray-800)}.btn-outline:hover:not(:disabled){border-color:var(--border-strong);background-color:var(--surface-hover)}.btn-outline:active:not(:disabled){background-color:var(--color-gray-200)}.btn-danger{background-color:var(--color-error);color:var(--color-white);box-shadow:var(--shadow-xs)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-strong);box-shadow:var(--shadow-sm)}.btn-ghost{min-width:var(--control-height-sm);min-height:var(--control-height-sm);padding-inline:var(--space-2);border-radius:var(--radius-xs);color:var(--color-gray-600)}.btn-ghost:hover:not(:disabled){background-color:var(--surface-hover);color:var(--color-primary)}.btn-text{min-height:auto;padding-inline:0;color:var(--color-primary)}.btn-text:hover:not(:disabled){color:var(--color-primary-hover);text-decoration:underline}.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.field-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-gray-700)}.field-required{margin-left:2px;color:var(--color-accent)}.field-input{width:100%;min-height:var(--control-height);padding-inline:var(--space-3);background-color:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-gray-900);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.field-input:hover:not(:disabled):not([readonly]){border-color:var(--border-strong)}textarea.field-input{padding-block:var(--space-3);line-height:var(--line-height-base);resize:vertical}select.field-input{appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23626b7b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer}.field-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.field-input:disabled,.field-input[readonly]{background-color:var(--surface-sunken);color:var(--color-gray-600);cursor:not-allowed}.field-input[aria-invalid=true]{border-color:var(--color-error)}.field-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #c6282829}.field-error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-error)}.field-help{font-size:var(--font-size-xs);line-height:var(--line-height-snug);color:var(--color-gray-600)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;line-height:1.5;white-space:nowrap}.badge+.badge{margin-left:var(--space-1)}.badge-primary{background-color:var(--color-primary-soft);color:var(--color-primary)}.badge-accent{background-color:var(--color-accent-soft);color:var(--color-accent-hover)}.badge-success{background-color:var(--color-success-soft);color:var(--color-success-strong)}.badge-warning{background-color:var(--color-warning-soft);color:var(--color-warning-strong)}.badge-info{background-color:var(--color-info-soft);color:var(--color-info-strong)}.badge-neutral{background-color:var(--color-gray-100);color:var(--color-gray-700)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-4);top:calc(var(--space-16) * -1);z-index:300;padding:var(--space-3) var(--space-5);background-color:var(--color-primary);color:var(--color-white);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-lg);transition:top var(--transition-base)}.skip-link:focus{top:var(--space-4);text-decoration:none}.align-right{text-align:right}
