:root {
  --navy-950:#061522;--navy-900:#0b2035;--navy-800:#12314e;--navy-700:#1b4464;
  --teal-700:#176b70;--teal-600:#218087;--teal-100:#dceff0;--teal-50:#eff8f8;
  --ink:#172737;--ink-2:#445563;--muted:#586a76;--line:#d7e0e4;--line-2:#e8edef;
  --paper:#f4f7f8;--surface:#fff;--surface-2:#f8fafb;
  --success:#277347;--success-bg:#e8f5ed;--warn:#946516;--warn-bg:#fff4d8;
  --danger:#a33e45;--danger-bg:#fcebed;--info:#2f6391;--info-bg:#e9f2fa;
  --purple:#685080;--purple-bg:#f1ecf6;
  --shadow:0 14px 40px rgb(6 21 34 / .09);--shadow-sm:0 4px 16px rgb(6 21 34 / .08);
  --radius:16px;--radius-sm:10px;--sidebar:260px;--topbar:72px;
  --safe-bottom:env(safe-area-inset-bottom,0px);
  font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);
  font-synthesis:none;text-rendering:optimizeLegibility;
}

*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100%;background:var(--paper);color:var(--ink)}
button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}a{color:var(--teal-700)}
img{max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:12px;top:-60px;z-index:2000;background:var(--surface);color:var(--navy-900);padding:12px 18px;border-radius:8px;box-shadow:var(--shadow)}.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #efad34;outline-offset:3px}.surface{background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--shadow-sm)}
.muted{color:var(--muted)}.eyebrow{display:block;color:var(--muted);font-size:.69rem;font-weight:800;letter-spacing:.105em;line-height:1.2;text-transform:uppercase}.mobile-only{display:none!important}

/* Login */
.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(420px,.9fr);background:var(--navy-950)}
.login-brand{position:relative;display:grid;place-content:center;padding:clamp(36px,8vw,120px);overflow:hidden;color:#fff;background:radial-gradient(circle at 33% 24%,#1b566b 0,transparent 36%),linear-gradient(145deg,#061522 0%,#0b2035 60%,#123c51 100%)}
.login-brand::before,.login-brand::after{content:"";position:absolute;border:1px solid rgb(255 255 255 / .08);border-radius:50%;width:60vw;height:60vw;left:-27vw;top:-24vw}.login-brand::after{left:auto;top:auto;right:-36vw;bottom:-30vw;width:72vw;height:72vw}
.login-brand img{width:min(310px,38vw);filter:drop-shadow(0 20px 36px rgb(0 0 0 / .32));opacity:.96}.login-brand p{text-align:center;text-transform:uppercase;letter-spacing:.22em;font-size:.73rem;color:#b9d1d8}
.login-card{align-self:center;justify-self:center;width:min(440px,calc(100% - 42px));border-radius:24px;padding:clamp(28px,4vw,48px);box-shadow:0 26px 70px rgb(0 0 0 / .28)}
.brand-lockup{display:flex;align-items:center;gap:13px;margin-bottom:34px}.brand-lockup strong{display:block;color:var(--navy-900);font-size:1.02rem;letter-spacing:.1em}.brand-lockup span{display:block;margin-top:3px;color:var(--muted);font-size:.8rem}
.login-card h1{font-size:clamp(1.75rem,3vw,2.25rem);margin:0 0 8px;letter-spacing:-.035em}.login-card>p{margin:0 0 26px}.login-card form{display:grid;gap:9px}.login-card label,.field label,.form-grid>label,.form-field>label{font-size:.82rem;font-weight:750;color:var(--ink-2);margin-top:8px}
input,select,textarea{width:100%;min-height:44px;border:1px solid #bac7cc;background:var(--surface);color:var(--ink);border-radius:9px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}textarea{min-height:98px;resize:vertical}input:hover,select:hover,textarea:hover{border-color:#83959e}input:focus,select:focus,textarea:focus{border-color:var(--teal-600);box-shadow:0 0 0 3px rgb(33 128 135 / .14)}input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--danger);background:#fffafb}
.password-wrap{position:relative}.password-wrap input{padding-right:54px}.password-wrap button{position:absolute;right:3px;top:3px}.form-error{border-left:4px solid var(--danger);border-radius:5px;background:var(--danger-bg);color:#76262c;padding:10px 12px;font-size:.84rem}.security-note{font-size:.76rem;color:var(--muted);border-top:1px solid var(--line-2);padding-top:17px;margin-top:20px!important}.demo-help{font-size:.78rem;color:var(--ink-2);margin-top:18px}.demo-help summary{cursor:pointer;font-weight:700}.demo-help p{margin:6px 0}
#mfa-field{display:grid;gap:7px;margin-top:8px}#mfa-field[hidden]{display:none}#mfa-field .muted{font-size:.7rem}

/* Buttons */
.button{min-height:42px;border:1px solid transparent;border-radius:9px;padding:9px 15px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:750;text-decoration:none;transition:transform .12s,background .15s,border .15s;white-space:nowrap}.button:active{transform:translateY(1px)}.button.primary{background:var(--teal-700);color:#fff}.button.primary:hover{background:#115b60}.button.secondary{background:var(--surface);border-color:#aabac1;color:var(--navy-900)}.button.secondary:hover{border-color:var(--teal-700);background:var(--teal-50)}.button.danger{background:var(--danger-bg);border-color:#edc4c7;color:var(--danger)}.button.ghost{background:transparent;color:var(--teal-700)}.button.compact{min-height:38px;padding:7px 12px;font-size:.84rem}.button.wide{width:100%;justify-content:space-between;margin-top:11px}.button:disabled{opacity:.5;cursor:not-allowed}.icon-button{position:relative;width:42px;height:42px;border:0;border-radius:10px;background:transparent;color:inherit;display:grid;place-content:center;font-size:1.2rem}.icon-button:hover{background:var(--line-2)}.icon-button.subtle{color:var(--muted)}.counter{position:absolute;right:2px;top:2px;min-width:18px;height:18px;border-radius:9px;background:var(--danger);color:#fff;border:2px solid var(--surface);font-size:.65rem;display:grid;place-content:center;padding:0 3px}

/* Shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr;grid-template-rows:var(--topbar) 1fr;grid-template-areas:"sidebar topbar" "sidebar main"}
.sidebar{grid-area:sidebar;position:fixed;z-index:50;inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;background:linear-gradient(180deg,var(--navy-950),var(--navy-900));color:#dce8ed;padding:16px 12px}.side-brand{display:flex;gap:11px;align-items:center;color:#fff;text-decoration:none;padding:6px 10px 18px;border-bottom:1px solid rgb(255 255 255 / .1);margin-bottom:12px}.side-brand img{filter:drop-shadow(0 4px 9px rgb(0 0 0 / .3))}.side-brand strong{display:block;font-size:.86rem;letter-spacing:.105em}.side-brand small{display:block;color:#9fb6c2;font-size:.7rem;margin-top:3px}
#side-nav{overflow:auto;overscroll-behavior:contain;padding-right:3px}#side-nav h2{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#7f9aa8;padding:14px 12px 5px;margin:0}#side-nav a{position:relative;display:flex;align-items:center;gap:11px;min-height:42px;padding:8px 11px;margin:2px 0;border-radius:9px;color:#c9d8df;text-decoration:none;font-size:.87rem;font-weight:650}#side-nav a:hover{background:rgb(255 255 255 / .07);color:#fff}#side-nav a.active{background:linear-gradient(90deg,rgb(33 128 135 / .32),rgb(33 128 135 / .14));color:#fff}#side-nav a.active::before{content:"";position:absolute;width:3px;left:0;top:8px;bottom:8px;border-radius:4px;background:#69c7ca}#side-nav .nav-icon{width:22px;text-align:center;font-size:1rem}#side-nav .nav-count{margin-left:auto;background:rgb(255 255 255 / .12);border-radius:9px;padding:1px 6px;font-size:.67rem}
.sidebar-foot{margin-top:auto;border-top:1px solid rgb(255 255 255 / .1);padding-top:9px}.side-action{display:flex;align-items:center;gap:11px;width:100%;min-height:40px;background:none;border:0;color:#b9cbd3;border-radius:8px;text-align:left;padding:7px 11px;font-size:.8rem}.side-action:hover{background:rgb(255 255 255 / .07);color:#fff}.sync-dot{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px rgb(39 115 71 / .22)}.sync-dot.offline{background:var(--warn)}.sync-dot.error{background:var(--danger)}
.topbar{grid-area:topbar;position:sticky;top:0;z-index:40;height:var(--topbar);display:flex;align-items:center;gap:20px;padding:0 clamp(18px,3vw,38px);border-bottom:1px solid var(--line);background:rgb(255 255 255 / .92);backdrop-filter:blur(14px)}.organization-switcher{min-width:190px}.organization-switcher strong{display:block;font-size:.82rem;margin-top:3px;white-space:nowrap}.organization-switcher select{min-height:32px;max-width:240px;padding:4px 28px 4px 8px;font-size:.76rem}.search-trigger{height:40px;flex:1;max-width:540px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);display:flex;gap:10px;align-items:center;text-align:left;padding:0 12px}.search-trigger span:nth-child(2){flex:1}.search-trigger kbd{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:2px 6px;font-size:.67rem}.top-actions{margin-left:auto;display:flex;align-items:center;gap:5px}.profile-button{min-height:46px;display:flex;gap:9px;align-items:center;border:0;background:transparent;border-radius:10px;color:var(--ink);padding:4px 5px}.profile-button:hover{background:var(--line-2)}.profile-button strong,.profile-button small{display:block;text-align:left;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-button strong{font-size:.78rem}.profile-button small{font-size:.66rem;color:var(--muted);margin-top:2px}.avatar{width:34px;height:34px;display:grid;place-content:center;border-radius:10px;background:var(--navy-900);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.03em}.profile-menu{position:fixed;right:22px;top:65px;z-index:100;width:220px;border-radius:12px;padding:6px}.profile-menu button{display:block;width:100%;background:none;border:0;text-align:left;padding:10px;border-radius:7px;color:var(--ink)}.profile-menu button:hover{background:var(--surface-2)}
main{grid-area:main;min-width:0}.page-content{width:min(1540px,100%);margin:0 auto;padding:clamp(20px,3vw,40px)}.page-head{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.page-head h1{font-size:clamp(1.65rem,3vw,2.3rem);letter-spacing:-.04em;margin:4px 0 7px}.page-head p{color:var(--muted);margin:0;max-width:760px}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.breadcrumbs{font-size:.76rem;color:var(--muted)}

/* Content components */
.card{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:0 2px 9px rgb(6 21 34 / .03);padding:20px}.card h2,.panel-head h2{font-size:1rem;letter-spacing:-.015em;margin:0}.card h3{font-size:.93rem;margin:0}.card p{line-height:1.5}.card-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.panel-head a,.panel-head button.link{font-size:.78rem;font-weight:750}.metric-card{position:relative;overflow:hidden;min-height:126px}.metric-card::after{content:"";position:absolute;width:86px;height:86px;border-radius:50%;background:var(--metric-bg,var(--teal-100));right:-24px;top:-28px}.metric-icon{position:relative;z-index:1;width:34px;height:34px;border-radius:9px;background:var(--metric-bg,var(--teal-100));color:var(--metric-color,var(--teal-700));display:grid;place-content:center;font-weight:900}.metric-value{display:block;font-size:1.85rem;letter-spacing:-.04em;font-weight:800;margin-top:14px}.metric-label{font-size:.76rem;color:var(--muted);font-weight:650}.metric-detail{font-size:.68rem;margin-top:4px;color:var(--metric-color,var(--teal-700))}.metric-card.danger{--metric-bg:var(--danger-bg);--metric-color:var(--danger)}.metric-card.warn{--metric-bg:var(--warn-bg);--metric-color:var(--warn)}.metric-card.info{--metric-bg:var(--info-bg);--metric-color:var(--info)}
.status-strip{display:flex;align-items:center;gap:12px;padding:13px 16px;margin-bottom:18px;border-radius:12px;background:var(--navy-900);color:#fff}.status-strip strong{font-size:.86rem}.status-strip p{margin:2px 0 0;color:#b9ccd5;font-size:.75rem}.status-strip .button{margin-left:auto}.pulse{width:10px;height:10px;border-radius:50%;background:#6ad097;box-shadow:0 0 0 5px rgb(106 208 151 / .16)}
.badge{display:inline-flex;align-items:center;gap:5px;min-height:23px;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.015em;background:var(--line-2);color:var(--ink-2);white-space:nowrap}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.purple{background:var(--purple-bg);color:var(--purple)}.badge.dark{background:var(--navy-900);color:#fff}
.list{list-style:none;margin:0;padding:0}.list-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-2)}.list-item:last-child{border-bottom:0}.list-icon{flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:var(--surface-2);display:grid;place-content:center;color:var(--teal-700)}.list-main{min-width:0;flex:1}.list-main strong{display:block;font-size:.84rem}.list-main p{font-size:.74rem;color:var(--muted);margin:3px 0 0;line-height:1.4}.list-meta{text-align:right;flex:0 0 auto}.list-meta time{display:block;font-size:.68rem;color:var(--muted);margin-top:5px}.empty{min-height:190px;display:grid;place-content:center;text-align:center;color:var(--muted);padding:24px}.empty span{font-size:2rem;margin-bottom:9px}.empty strong{color:var(--ink-2);font-size:.92rem}.empty p{font-size:.78rem;margin:5px auto;max-width:310px}
.data-shell{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden}.table-tools{display:flex;gap:10px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line-2)}.table-tools .filter-search{max-width:420px;position:relative;flex:1}.table-tools .filter-search input{padding-left:36px}.table-tools .filter-search span{position:absolute;left:12px;top:12px;color:var(--muted)}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.78rem}th{height:42px;background:#f3f6f7;color:var(--ink-2);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:10px 13px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 13px;border-bottom:1px solid var(--line-2);vertical-align:top}tbody tr:hover{background:#fafcfc}tbody tr:last-child td{border-bottom:0}.cell-title{font-weight:760;color:var(--ink)}.cell-sub{display:block;color:var(--muted);font-size:.69rem;margin-top:3px}.row-actions{display:flex;gap:4px;justify-content:flex-end}.row-actions button{min-height:32px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--line-2);color:var(--muted);font-size:.73rem}.table-mobile-label{display:none}
.toolbar-tabs{display:flex;gap:3px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:22px}.toolbar-tabs button,.toolbar-tabs a{white-space:nowrap;border:0;background:transparent;color:var(--muted);padding:11px 13px;border-bottom:2px solid transparent;text-decoration:none;font-size:.8rem;font-weight:700}.toolbar-tabs .active{color:var(--teal-700);border-bottom-color:var(--teal-700)}
.filter-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.filter-row .field{min-width:170px}.filter-row .field.search{flex:1;min-width:240px}.field span.hint,.form-field .hint{display:block;color:var(--muted);font-size:.68rem;margin-top:4px}.field-error{color:var(--danger);font-size:.7rem;margin-top:4px}

/* Legături funcționale și matrice de acces */
.metric-link{color:inherit;text-decoration:none;transition:border-color .15s,transform .12s}.metric-link:hover{border-color:var(--teal-600);transform:translateY(-1px)}
.access-fieldset{border:1px solid var(--line);border-radius:12px;padding:14px;margin:0;min-width:0}.access-fieldset legend{font-size:.84rem;font-weight:800;padding:0 6px}.access-fieldset>.muted{font-size:.73rem;margin:0 0 10px}.matrix-choice-list,.matrix-role-list{display:grid;gap:8px}.matrix-choice{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line-2);border-radius:9px;padding:9px;background:var(--surface-2)}.matrix-choice input,.matrix-role-row input{width:20px;min-height:20px;flex:0 0 20px;margin:1px 0}.matrix-choice span,.matrix-role-row label span{min-width:0}.matrix-choice strong,.matrix-role-row strong{display:block;font-size:.78rem}.matrix-choice small,.matrix-role-row small{display:block;color:var(--muted);font-size:.67rem;margin-top:2px}.matrix-role-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:10px;align-items:center;border:1px solid var(--line-2);border-radius:9px;padding:9px}.matrix-role-row label{display:flex;align-items:flex-start;gap:10px}.matrix-role-row select{min-height:38px}.matrix-table{max-height:390px;border:1px solid var(--line);border-radius:9px}.matrix-table th{position:sticky;top:0;z-index:1}.matrix-table select{min-width:190px;min-height:38px}.record-summary{margin:14px 0 22px}.secret-value{font-size:.88rem;color:var(--ink);user-select:all}.secure-once{margin-bottom:12px}

/* Wizard */
.wizard-shell{display:grid;grid-template-columns:230px 1fr;gap:22px}.wizard-nav{position:sticky;top:calc(var(--topbar) + 18px);align-self:start}.wizard-step{display:flex;gap:10px;align-items:flex-start;padding:10px;border-left:2px solid var(--line);color:var(--muted)}.wizard-step span{width:25px;height:25px;border-radius:50%;display:grid;place-content:center;background:var(--line-2);font-size:.7rem;font-weight:800;flex:none}.wizard-step strong{display:block;font-size:.78rem}.wizard-step small{font-size:.66rem}.wizard-step.active{border-color:var(--teal-700);color:var(--ink)}.wizard-step.active span{background:var(--teal-700);color:#fff}.wizard-step.done span{background:var(--success);color:#fff}.wizard-panel{min-height:490px}.wizard-panel h2{font-size:1.25rem;margin:0 0 6px}.wizard-panel>.muted{font-size:.82rem;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px}.form-grid .wide{grid-column:1/-1}.form-field{display:flex;flex-direction:column;gap:5px}.required::after{content:" *";color:var(--danger)}.wizard-actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line-2);padding-top:18px;margin-top:24px}.service-list{display:grid;gap:10px}.service-card{border:1px solid var(--line);border-radius:12px;padding:13px;transition:border .15s,background .15s}.service-card.selected{border-color:var(--teal-600);background:var(--teal-50)}.service-summary{display:flex;align-items:flex-start;gap:10px}.service-summary input{width:20px;min-height:20px;margin:2px 0;flex:none}.service-summary label{flex:1;cursor:pointer}.service-summary strong{display:block;font-size:.84rem}.service-summary small{color:var(--muted)}.service-fields{display:grid;grid-template-columns:110px 140px 1fr;gap:10px;padding:12px 0 0 30px}.service-fields input{min-height:38px}.money-total{text-align:right;font-weight:800;color:var(--teal-700);padding:8px 0}.summary-box{border:1px solid var(--line);border-radius:12px;padding:15px;background:var(--surface-2)}.summary-row{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid var(--line-2);font-size:.8rem}.summary-row:last-child{border-bottom:0}.summary-row.total{font-size:1rem;font-weight:850;color:var(--navy-900)}.gate-list{display:grid;gap:8px;margin:14px 0}.gate-item{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:9px;background:var(--success-bg);color:var(--success);font-size:.78rem}.gate-item.blocked{background:var(--danger-bg);color:var(--danger)}

/* Detail, audit, compliance */
.timeline{position:relative;margin:0;padding:0 0 0 28px;list-style:none}.timeline::before{content:"";position:absolute;left:10px;top:7px;bottom:7px;width:2px;background:var(--line)}.timeline-item{position:relative;padding:0 0 20px}.timeline-item::before{content:"";position:absolute;left:-23px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--teal-600);box-shadow:0 0 0 4px var(--teal-100)}.timeline-item time{font-size:.67rem;color:var(--muted)}.timeline-item strong{display:block;font-size:.82rem;margin:3px 0}.timeline-item p{font-size:.74rem;color:var(--ink-2);margin:0;line-height:1.45}.audit-hash{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.63rem;color:var(--muted);word-break:break-all}.integrity-card{display:flex;align-items:center;gap:15px;border:1px solid #b9dfc8;background:var(--success-bg);border-radius:13px;padding:16px}.integrity-card.invalid{border-color:#efc2c5;background:var(--danger-bg)}.integrity-icon{width:44px;height:44px;border-radius:50%;display:grid;place-content:center;background:var(--success);color:#fff;font-size:1.25rem}.integrity-card.invalid .integrity-icon{background:var(--danger)}.integrity-card strong{display:block}.integrity-card p{margin:3px 0 0;color:var(--muted);font-size:.75rem}.risk-row{display:grid;grid-template-columns:140px 1fr 100px;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-2)}.risk-bar{height:8px;background:var(--line-2);border-radius:5px;overflow:hidden}.risk-bar span{display:block;height:100%;background:var(--warn);border-radius:5px}.risk-row.high .risk-bar span{background:var(--danger)}.risk-row.low .risk-bar span{background:var(--success)}
.procedure-flow{display:flex;align-items:stretch;overflow:auto;padding-bottom:8px}.procedure-step{min-width:150px;max-width:190px;flex:1;border:1px solid var(--line);border-radius:10px;padding:11px;background:var(--surface);position:relative}.procedure-step:not(:last-child){margin-right:26px}.procedure-step:not(:last-child)::after{content:"→";position:absolute;right:-21px;top:50%;color:var(--muted)}.procedure-step strong{font-size:.76rem}.procedure-step small{display:block;color:var(--muted);font-size:.65rem;margin-top:4px}.procedure-step.complete{border-color:#b8ddc6;background:var(--success-bg)}.procedure-step.blocked{border-color:#ebc2c5;background:var(--danger-bg)}

/* Dialog, command palette and toast */
.app-dialog{width:min(760px,calc(100vw - 28px));max-height:min(880px,calc(100vh - 28px));border:0;border-radius:18px;padding:0;background:var(--surface);color:var(--ink);box-shadow:0 28px 90px rgb(0 0 0 / .32)}.app-dialog::backdrop{background:rgb(4 16 27 / .58);backdrop-filter:blur(3px)}.dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:19px 22px;border-bottom:1px solid var(--line);background:var(--surface)}.dialog-head h2{font-size:1.2rem;margin:4px 0 0}.dialog-body{padding:22px;overflow:auto}.dialog-foot{display:flex;justify-content:flex-end;gap:9px;padding-top:18px;margin-top:18px;border-top:1px solid var(--line-2)}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-action{display:flex;text-align:left;align-items:center;gap:12px;min-height:70px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);padding:12px}.quick-action:hover{border-color:var(--teal-600);background:var(--teal-50)}.quick-action span:first-child{width:36px;height:36px;border-radius:9px;display:grid;place-content:center;background:var(--teal-100);color:var(--teal-700);font-size:1.1rem}.quick-action strong{display:block;font-size:.8rem}.quick-action small{display:block;color:var(--muted);font-size:.68rem;margin-top:3px}.command-input{font-size:1rem;padding:13px 15px;margin-bottom:12px}.command-results{max-height:430px;overflow:auto}.command-group>strong{display:block;padding:9px 8px 5px;color:var(--muted);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.command-result{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;border-radius:8px;text-align:left;padding:10px;color:var(--ink)}.command-result:hover,.command-result:focus{background:var(--teal-50)}.command-result span{margin-left:auto;color:var(--muted);font-size:.68rem}
.toast-region{position:fixed;z-index:3000;right:18px;bottom:18px;display:flex;flex-direction:column;gap:9px;width:min(390px,calc(100vw - 36px))}.toast{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--line);border-left:4px solid var(--teal-600);border-radius:11px;background:var(--surface);box-shadow:var(--shadow);padding:12px;animation:toast-in .2s ease-out}.toast.error{border-left-color:var(--danger)}.toast.warn{border-left-color:var(--warn)}.toast strong{display:block;font-size:.8rem}.toast p{margin:3px 0 0;color:var(--muted);font-size:.72rem;line-height:1.4}.toast button{margin-left:auto;border:0;background:none;color:var(--muted)}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}}
.global-busy{position:fixed;z-index:5000;inset:0;background:rgb(255 255 255 / .22);pointer-events:auto;cursor:progress}.global-busy span:first-child{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px;border:4px solid var(--teal-100);border-top-color:var(--teal-700);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.skeleton{background:linear-gradient(90deg,#eef2f3 25%,#f8fafb 50%,#eef2f3 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:7px;color:transparent!important}@keyframes shimmer{to{background-position:-200% 0}}

/* Offline and install */
.install-banner{position:fixed;z-index:120;right:18px;bottom:18px;width:min(480px,calc(100vw - 36px));border-radius:15px;padding:13px;display:flex;gap:11px;align-items:center}.install-banner div{min-width:0;flex:1}.install-banner strong{display:block;font-size:.85rem}.install-banner p{font-size:.7rem;color:var(--muted);margin:3px 0 0}.queue-item{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:9px}.queue-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.queue-item strong{font-size:.78rem}.queue-item p{font-size:.7rem;color:var(--muted);margin:5px 0}.queue-item code{font-size:.65rem;word-break:break-all}.mobile-nav{display:none}

/* Responsive */
@media(max-width:1180px){.card-grid .span-3{grid-column:span 6}.span-4{grid-column:span 6}.organization-switcher{display:none}.topbar{gap:10px}.wizard-shell{grid-template-columns:190px 1fr}}
@media(max-width:900px){
  :root{--topbar:64px}.mobile-only{display:grid!important}.app-shell{display:block;padding-top:var(--topbar);padding-bottom:calc(68px + var(--safe-bottom))}.sidebar{transform:translateX(-103%);transition:transform .2s ease;width:min(290px,86vw);box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.sidebar-scrim{position:fixed;z-index:45;inset:0;background:rgb(4 16 27 / .52)}.topbar{position:fixed;left:0;right:0;top:0;height:var(--topbar);padding:0 12px}.search-trigger{max-width:none}.search-trigger kbd{display:none}.top-actions{margin-left:0}.top-actions>.button{display:none}.profile-button .desktop-label,.profile-button>span:last-child{display:none}.profile-button{padding:3px}.page-content{padding:18px 14px}.mobile-nav{position:fixed;z-index:42;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:calc(64px + var(--safe-bottom));padding:5px 8px var(--safe-bottom);background:rgb(255 255 255 / .97);border-top:1px solid var(--line);box-shadow:0 -5px 20px rgb(6 21 34 / .08)}.mobile-nav a,.mobile-nav button{border:0;background:transparent;color:var(--muted);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0}.mobile-nav a>span,.mobile-nav button>span{font-size:1.16rem}.mobile-nav small{font-size:.62rem;font-weight:700}.mobile-nav a.active{color:var(--teal-700)}#mobile-create-button{width:50px;height:50px;align-self:center;justify-self:center;border-radius:50%;background:var(--teal-700);color:#fff;box-shadow:0 6px 16px rgb(23 107 112 / .28);transform:translateY(-10px)}#mobile-create-button span{font-size:1.7rem}.page-head{align-items:flex-start}.wizard-shell{display:block}.wizard-nav{position:static;display:flex;overflow:auto;margin-bottom:15px}.wizard-step{min-width:145px;border-left:0;border-bottom:2px solid var(--line)}.service-fields{grid-template-columns:1fr 1fr;padding-left:30px}.service-fields input:last-child{grid-column:1/-1}.app-dialog{margin:auto}.install-banner{bottom:calc(76px + var(--safe-bottom))}
}
@media(max-width:660px){
  .login-view{display:block;background:var(--paper);padding:24px 0}.login-brand{display:none}.login-card{box-shadow:none;border:0;background:transparent;width:min(460px,100%);padding:26px 22px}.brand-lockup{margin-bottom:26px}.search-trigger{width:42px;flex:0 0 42px;padding:0;display:grid;place-content:center}.search-trigger span:nth-child(2){display:none}.topbar{justify-content:space-between}.top-actions{margin-left:auto}.desktop-label{display:none!important}.page-head{display:block}.page-actions{margin-top:14px}.page-actions .button{flex:1}.card-grid{grid-template-columns:1fr}.card-grid>[class*="span-"]{grid-column:1!important}.metric-card{min-height:114px}.status-strip{align-items:flex-start}.status-strip .button{display:none}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.quick-grid{grid-template-columns:1fr}.dialog-body{padding:16px}.dialog-head{padding:15px 16px}.app-dialog{width:100vw;max-height:calc(100vh - env(safe-area-inset-top,0px));height:auto;margin:auto 0 0;border-radius:18px 18px 0 0}.table-tools{flex-wrap:wrap}.table-tools .filter-search{max-width:none;flex-basis:100%}.table-scroll.responsive table,.table-scroll.responsive tbody,.table-scroll.responsive tr,.table-scroll.responsive td{display:block}.table-scroll.responsive thead{display:none}.table-scroll.responsive tr{padding:12px;border-bottom:1px solid var(--line)}.table-scroll.responsive td{border:0;padding:4px 0;display:grid;grid-template-columns:110px 1fr;gap:10px}.table-scroll.responsive td::before{content:attr(data-label);color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase}.table-mobile-label{display:block}.pagination{align-items:flex-start;gap:8px}.risk-row{grid-template-columns:90px 1fr}.risk-row>:last-child{grid-column:2}.service-fields{padding-left:0}.toolbar-tabs{margin-inline:-14px;padding-inline:14px}.install-banner{display:grid;grid-template-columns:42px 1fr auto}.install-banner .button{grid-column:2/4}.install-banner>.icon-button{position:absolute;right:3px;top:3px}.toast-region{bottom:calc(74px + var(--safe-bottom))}
}
@media(max-width:660px){.matrix-role-row{grid-template-columns:1fr}.matrix-table{max-height:52vh}.matrix-table table{min-width:680px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(prefers-contrast:more){:root{--line:#89969c;--line-2:#adb8bd;--muted:#47555c}.card,.data-shell,.surface{border-width:2px}.badge{border:1px solid currentColor}}
@media print{.sidebar,.topbar,.mobile-nav,.page-actions,.table-tools,.install-banner,.toast-region{display:none!important}.app-shell{display:block}.page-content{padding:0;max-width:none}.card,.data-shell{box-shadow:none;break-inside:avoid}body{background:#fff}}

@media(prefers-color-scheme:dark){
  :root{--ink:#e5edf0;--ink-2:#b9c8ce;--muted:#94a8b1;--line:#354953;--line-2:#263b45;--paper:#0d1d27;--surface:#142832;--surface-2:#192f39;--shadow:0 14px 40px rgb(0 0 0 / .25);--teal-50:#15363a;--teal-100:#1c4549;--success-bg:#18382a;--warn-bg:#3f351a;--danger-bg:#44242a;--info-bg:#1c3247;--purple-bg:#322a3d}
  .topbar,.mobile-nav{background:rgb(20 40 50 / .94)}.login-card{background:var(--surface)}input,select,textarea{background:#10232c;color:var(--ink);border-color:#536872}th{background:#1c333d}tbody tr:hover{background:#18303a}.metric-card::after{opacity:.25}.skeleton{background:linear-gradient(90deg,#203741 25%,#29434e 50%,#203741 75%);background-size:200% 100%}.global-busy{background:rgb(0 0 0 / .25)}.icon-button:hover,.profile-button:hover{background:#233b45}.button.secondary{background:var(--surface);color:#f3f8fa}.button.ghost,a,.panel-head a,.toolbar-tabs .active{color:#79d5d7}.button.danger,.form-error{color:#f2b8bc}.badge{color:#c7d4d9}.badge.success{color:#8fd4aa}.badge.warn{color:#f4cf7a}.badge.danger{color:#f2b8bc}.badge.info{color:#93c8f1}.badge.purple{color:#c7a9e3}.metric-card{--metric-color:#79d5d7}.metric-card.danger{--metric-color:#f2b8bc}.metric-card.warn{--metric-color:#f4cf7a}.metric-card.info{--metric-color:#93c8f1}.quick-action,.metric-link{color:var(--ink)}.quick-action span:first-child{color:#79d5d7}.brand-lockup strong,.summary-row.total{color:var(--ink)}
}
