*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Inter","Segoe UI",Arial,sans-serif;font-size:13px;letter-spacing:-.01em;transition:background .2s ease,color .2s ease}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}.hidden{display:none!important}
body.booting #login-screen,body.booting #app-shell{display:none!important}

body[data-theme="dark"]{--bg:#1b1c1f;--bg-soft:#202226;--sidebar:#171719;--sidebar-border:#2a2b2f;--panel:#222326;--panel-soft:#282a2e;--panel-soft-2:#26282c;--text:#f4f4f6;--muted:#9a9ca3;--line:#303238;--accent:#f2f2f2;--accent-2:#20d06d;--danger:#ff5d5d;--chip:#2b2d31;--input:#232428;--shadow:none}
body[data-theme="light"]{--bg:#f4f5f8;--bg-soft:#ffffff;--sidebar:#ffffff;--sidebar-border:#dedfe5;--panel:#ffffff;--panel-soft:#f5f6fa;--panel-soft-2:#f0f2f7;--text:#17181b;--muted:#6c7280;--line:#e0e3ea;--accent:#17181b;--accent-2:#18a957;--danger:#d94949;--chip:#eff2f7;--input:#ffffff;--shadow:0 10px 28px rgba(16,24,40,.08)}
body{background:var(--bg);color:var(--text)}
body[data-theme="light"] .side-nav button,
body[data-theme="light"] .side-link{color:#121316}
body[data-theme="light"] .side-nav button.active,
body[data-theme="light"] .side-nav button:hover,
body[data-theme="light"] .side-link:hover{background:#eceff5;box-shadow:none}

.theme-toggle{width:42px;height:42px;padding:0;border-radius:999px;border:1px solid var(--line);background:var(--bg-soft);color:var(--text);display:grid;place-items:center;position:relative}.theme-toggle-app{background:transparent}.theme-svg{position:absolute;width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sun-icon,.moon-icon{opacity:0;transform:scale(.88);transition:opacity .18s ease,transform .18s ease}
body[data-theme="dark"] .moon-icon{opacity:1;transform:scale(1)}
body[data-theme="light"] .sun-icon{opacity:1;transform:scale(1)}

.login-screen{min-height:100vh;background:var(--bg);color:var(--text);display:grid;place-items:center;padding:24px;position:relative}.login-card{width:min(100%,430px);display:grid;justify-items:center}.login-logo{width:74px;height:74px;object-fit:contain;margin-bottom:18px}.login-card h1{font-size:2rem;font-weight:800;text-align:center;letter-spacing:-.03em}.login-subtitle{margin-top:10px;color:var(--muted);font-size:1.02rem}.login-form{width:100%;display:grid;gap:18px;margin-top:30px}.field{display:grid;gap:10px;width:100%;font-weight:700}.field span{font-size:.96rem}.input-shell{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--input);border-radius:14px;padding:0 14px;color:var(--muted)}.input-shell input{border:0;background:transparent;color:var(--text);width:100%;padding:16px 0;outline:none}.input-shell input::placeholder{color:var(--muted)}.input-icon{font-size:1rem;opacity:.8;font-weight:700}.password-toggle{border:0;background:transparent;color:var(--muted);padding:0;font-weight:700}.login-error{min-height:18px;margin:-6px 0 0;width:100%;color:var(--danger);font-size:.92rem}.login-submit,.primary{border:0;background:var(--accent);color:var(--bg);border-radius:14px;min-height:48px;padding:0 18px;font-weight:700}.forgot-button{margin-top:18px;border:0;background:transparent;color:var(--text);font-weight:600}.login-hint{margin-top:12px;color:var(--muted);font-size:.88rem;text-align:center}.login-theme-button{position:absolute;top:18px;right:18px}

.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh;transition:grid-template-columns .16s ease}.side{background:var(--sidebar);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;border-bottom-right-radius:24px;border-top-right-radius:10px;clip-path:inset(0 0 0 0 round 0 10px 24px 0)}.brand{height:52px;display:flex;align-items:center;gap:8px;padding:0 10px 0 7px;border-bottom:1px solid var(--sidebar-border)}.brand-mark{width:28px;height:28px;border-radius:8px;overflow:hidden;display:grid;place-items:center;background:var(--panel-soft)}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-copy{max-width:190px;opacity:1;overflow:hidden;transition:max-width .14s ease,opacity .12s ease}.brand-copy h1{font-size:.84rem;font-weight:700;line-height:1.1;white-space:nowrap}
.side-nav{display:grid;gap:5px;padding:12px 7px}.side-nav button,.side-link{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;color:var(--text);padding:10px 10px;border-radius:11px;text-align:left;font-weight:500;letter-spacing:-.01em}.side-nav button.active,.side-nav button:hover,.side-link:hover{background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.2)}
.nav-svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:1;flex:0 0 auto}
.nav-label{white-space:nowrap;font-size:.92rem;font-weight:600;max-width:220px;opacity:1;overflow:hidden;transform:translateX(0);transition:max-width .14s ease,opacity .12s ease,transform .12s ease}
.sidebar-bottom{margin-top:auto;padding:10px 10px 16px;border-top:1px solid var(--sidebar-border);display:grid;gap:10px;background:var(--sidebar);border-bottom-right-radius:24px}
.sidebar-collapse{width:100%;height:40px;border:1px solid var(--line);background:var(--panel-soft);color:var(--text);border-radius:12px;display:grid;place-items:center}
.sidebar-collapse:hover{filter:brightness(1.05)}
.collapse-svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .14s ease}
.side-nav button,.side-link{transition:background .14s ease,box-shadow .14s ease,color .14s ease}
.sidebar-collapse{transition:filter .14s ease,background .14s ease,border-color .14s ease}

body.sidebar-collapsed .app{grid-template-columns:80px 1fr}
body.sidebar-collapsed .brand{justify-content:center;padding:0}
body.sidebar-collapsed .brand-copy{max-width:0;opacity:0}
body.sidebar-collapsed .side-nav{padding:12px 8px}
body.sidebar-collapsed .side-nav button,
body.sidebar-collapsed .side-link{justify-content:center;padding:10px 0}
body.sidebar-collapsed .side-nav .nav-svg,
body.sidebar-collapsed .side-link .nav-svg{width:22px;height:22px;stroke-width:2.1}
body.sidebar-collapsed .nav-label{max-width:0;opacity:0;transform:translateX(-6px)}
body.sidebar-collapsed .sidebar-bottom{justify-items:center}
body.sidebar-collapsed .sidebar-collapse{width:50px;height:38px}
body.sidebar-collapsed .collapse-svg{width:18px;height:18px;stroke-width:2.2}
body.sidebar-collapsed .brand-mark{width:38px;height:38px}
body.sidebar-collapsed .collapse-svg{transform:rotate(180deg)}

.main{padding:0 0 10px;min-width:0;overflow-x:hidden}.topbar{height:52px;padding:0 10px 0 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.page-heading h2{font-size:.95rem;font-weight:800;letter-spacing:-.01em}.page-heading p{margin-top:2px;color:var(--muted);font-size:.76rem}.topbar-right{display:flex;gap:4px;align-items:center}.profile-pill{display:flex;align-items:center;gap:6px;padding:3px 7px;border-radius:999px;border:1px solid var(--line);background:var(--bg-soft)}.profile-avatar{width:24px;height:24px;border-radius:999px;background:#4a4b50;color:#fff;display:grid;place-items:center;font-size:.7rem;font-weight:700}.profile-copy{display:grid}.profile-copy strong{font-size:.78rem;font-weight:700}.profile-copy span{font-size:.66rem;color:var(--muted)}
.ghost{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:10px;min-height:30px;padding:0 9px;font-weight:600}

.view{display:none;padding:14px;gap:10px;min-width:0}.view.active{display:grid}.view-toolbar{display:flex;justify-content:space-between;gap:8px;align-items:center}.toolbar-actions,.row{display:flex;gap:6px;flex-wrap:wrap}.search-shell{max-width:330px;width:100%;position:relative}.search-shell input{width:100%;min-height:31px;border-radius:9px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:0 9px 0 28px}.search-icon{position:absolute;left:9px;top:50%;width:11px;height:11px;border:1.3px solid var(--muted);border-radius:999px;transform:translateY(-50%)}.search-icon::after{content:"";position:absolute;width:5px;height:1.3px;background:var(--muted);right:-4px;bottom:-2px;transform:rotate(45deg)}
body.sidebar-collapsed .topbar{padding:0 12px 0 14px}
body.sidebar-collapsed .view{padding:16px}
.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.panel,.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px;box-shadow:var(--shadow);min-width:0}.panel-large{min-height:210px}.panel-head,.between,.timer-box,.score-box{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.panel-head h3,.card h3{font-size:.96rem;font-weight:800;letter-spacing:-.01em}.panel-head p{margin-top:3px;color:var(--muted);font-size:.82rem}.eyebrow{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:700;margin-bottom:5px}
.stack{display:grid;gap:8px}.stack-top{margin-top:10px}.item,.question,.timer-box,.score-box{background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;padding:10px}.item strong,.question strong{font-weight:700}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.38}.metric-card{padding:12px;border-radius:10px;background:var(--panel);border:1px solid var(--line)}.metric-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.metric-label{color:var(--muted);font-size:.82rem;font-weight:500}.metric-value{font-size:1.65rem;font-weight:800;line-height:1.05;margin-top:4px;letter-spacing:-.02em}.metric-trend{margin-top:8px;font-size:.78rem;font-weight:700}.metric-trend.positive{color:var(--accent-2)}.metric-trend.negative{color:var(--danger)}.metric-icon{width:30px;height:30px;border-radius:9px;background:var(--panel-soft-2);display:grid;place-items:center;position:relative;border:1px solid var(--line)}.metric-icon::before,.metric-icon::after{content:"";position:absolute;background:currentColor;opacity:.9}.metric-icon.chart::before{width:2px;height:8px;left:9px;bottom:8px;box-shadow:5px -3px 0 currentColor,9px -1px 0 currentColor}.metric-icon.chart::after{width:12px;height:2px;left:9px;bottom:8px}.metric-icon.check::before{width:8px;height:4px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;background:none;transform:rotate(-45deg);left:9px;top:11px}.metric-icon.warn::before{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid currentColor;background:none;left:9px;top:7px}.metric-icon.warn::after{width:2px;height:4px;left:14px;top:12px;box-shadow:0 6px 0 currentColor}.metric-icon.users::before{width:5px;height:5px;border:2px solid currentColor;border-radius:999px;background:none;left:7px;top:7px;box-shadow:8px 2px 0 -1px currentColor}.metric-icon.users::after{width:12px;height:5px;border:2px solid currentColor;border-top-left-radius:9px;border-top-right-radius:9px;border-bottom:0;background:none;left:7px;bottom:6px}.chart-shell{height:165px;padding-top:4px;position:relative}.chart-area{position:absolute;inset:8px 0 0;background:linear-gradient(180deg,rgba(29,206,147,.12),rgba(29,206,147,.02));border-radius:10px;overflow:hidden;border:1px solid var(--line)}.chart-grid{position:absolute;inset:0;background:linear-gradient(to right,transparent 0 10%,rgba(255,255,255,.04) 10% 10.5%,transparent 10.5% 20%),linear-gradient(to bottom,transparent 0 24%,rgba(255,255,255,.04) 24% 24.5%,transparent 24.5% 48%,rgba(255,255,255,.04) 48% 48.5%,transparent 48.5% 72%,rgba(255,255,255,.04) 72% 72.5%,transparent 72.5%)}.chart-line{position:absolute;left:8%;right:6%;bottom:16%;height:58%;border-bottom:2px solid #19d2bf;border-left:2px solid transparent;border-radius:120px 120px 60px 60px/80px 80px 30px 30px;transform:skewX(-18deg)}.chart-fill{position:absolute;left:8%;right:6%;bottom:16%;height:50%;background:linear-gradient(180deg,rgba(27,221,174,.28),rgba(27,221,174,.08));clip-path:polygon(0 76%,12% 72%,25% 58%,36% 66%,48% 38%,60% 52%,72% 30%,84% 40%,100% 18%,100% 100%,0 100%)}.offender-row{display:grid;grid-template-columns:1fr auto 34px;gap:8px;align-items:center;padding:9px;border-radius:10px;background:var(--panel-soft);border:1px solid var(--line)}.offender-title{font-weight:700;line-height:1.25}.offender-sub{font-size:.75rem;color:var(--muted);margin-top:1px}.offender-count{font-weight:800;font-size:1rem;letter-spacing:-.01em}.offender-bar{width:34px;height:5px;border-radius:999px;background:var(--panel-soft-2);position:relative;overflow:hidden}.offender-bar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--fill,40%);background:#d9d9da;border-radius:999px}
.form{display:grid;gap:8px}.form.inline{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.form-two{grid-template-columns:repeat(2,minmax(0,1fr))}.span-two{grid-column:span 2}.form input,.form select,.form textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--text);font-size:.9rem}.primary:hover,.ghost:hover,.theme-toggle:hover{filter:brightness(1.02)}.check{display:flex;gap:7px;align-items:center}.score-box strong,.timer-box strong{font-size:22px;color:var(--text)}

.monitoria-timer-panel{max-width:360px}
.monitoria-timer-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0}
.timer-copy .eyebrow{font-size:11px;margin-bottom:2px}
.timer-copy strong{font-size:2rem;line-height:1}
.timer-actions{display:flex;gap:8px;align-items:center}
.timer-icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);display:grid;place-items:center;font-weight:700}
.timer-icon-btn:hover{color:var(--text);border-color:var(--muted)}
.monitoria-eval-panel{gap:10px}
.monitoria-eval-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.monitoria-eval-footer .score-box{min-width:130px}
.monitoria-eval-footer .primary{min-height:34px}
.monitoria-exec-timer{display:grid;justify-items:end}
.monitoria-exec-timer strong{font-size:1.55rem;line-height:1}

#monitoria_execucao{gap:12px}
#monitoria_execucao .view-toolbar{margin-bottom:2px}
#monitoria_execucao .panel{padding:14px}
#monitoria_execucao .panel-head{align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}
#monitoria_execucao .panel-head h3{font-size:1.08rem}
#monitoria_execucao .panel-head p{font-size:.84rem}
#monitoria_execucao .question{background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;padding:10px}
#monitoria_execucao .question strong{display:block;font-size:.94rem;margin-bottom:2px}
#monitoria_execucao .question .small{font-size:.76rem;margin-bottom:8px}
#monitoria_execucao #monitoria-eval-questions select,
#monitoria_execucao #monitoria-eval-questions input,
#monitoria_execucao #monitoria-eval-questions textarea{width:100%;min-height:34px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:9px;padding:0 10px;font-size:.9rem}
#monitoria_execucao #monitoria-eval-questions textarea{padding:8px 10px;min-height:auto}
#monitoria_execucao #monitoria-eval-notes{min-height:86px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:8px 10px}
#monitoria_execucao .monitoria-exec-timer{min-width:150px;background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:grid;justify-items:center;text-align:center}
#monitoria_execucao .monitoria-exec-timer .eyebrow{margin:0;font-size:.72rem;text-align:center}
#monitoria_execucao .monitoria-exec-timer strong{font-size:1.8rem;letter-spacing:-.02em;text-align:center}
#monitoria_execucao .monitoria-eval-footer{margin-top:2px;border-top:1px solid var(--line);padding-top:10px;align-items:center}
#monitoria_execucao .monitoria-eval-footer .score-box{background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
#monitoria_execucao .monitoria-eval-footer .score-box span{font-size:.8rem;color:var(--muted)}
#monitoria_execucao .monitoria-eval-footer .score-box strong{font-size:1.85rem}
#monitoria_execucao #finish-monitoria{min-width:230px;min-height:38px;border-radius:11px}

.monitoria-table-panel{padding:0;overflow:hidden;min-width:0}
.table-shell{overflow:auto;max-width:100%}
.monitoria-table{width:100%;border-collapse:collapse;min-width:760px}
.monitoria-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.monitoria-table td{padding:12px 14px;border-bottom:1px solid var(--line);font-size:.95rem}
.monitoria-table tbody tr:hover{background:var(--panel-soft)}
.resume-audit-btn{min-height:28px;padding:0 10px;border-radius:8px;font-size:.8rem}
.audit-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.audit-action-btn{min-height:28px;padding:0 10px;border-radius:8px;font-size:.8rem}
.audit-action-btn.delete{border-color:rgba(239,93,93,.45);color:#ef5d5d}
.audit-action-btn.delete:hover{background:rgba(239,93,93,.12)}
.score-cell{font-weight:800}
.score-cell.score-high{color:#18c277}
.score-cell.score-mid{color:#e0a400}
.score-cell.score-low{color:#ef5d5d}
.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:999px;border:1px solid var(--line);font-size:.82rem;font-weight:600}
.status-badge.badge-concluida{border-color:rgba(24,194,119,.45);color:#18c277;background:rgba(24,194,119,.12)}
.status-badge.badge-contestada{border-color:rgba(239,93,93,.45);color:#ef5d5d;background:rgba(239,93,93,.12)}
.status-badge.badge-andamento{border-color:rgba(190,193,201,.45);color:#d7d9de;background:rgba(152,157,168,.16)}
.empty-cell{text-align:center;color:var(--muted)}
.legacy-audit-hooks{display:none!important}

.forms-screen{display:grid;gap:12px}
.forms-list{margin-top:6px}
.forms-empty-state{min-height:220px;display:grid;place-items:center;gap:8px;color:var(--muted);text-align:center}
.empty-icon{font-size:2rem;opacity:.45}
.forms-empty-state.blocks-empty{min-height:150px}

.form-builder-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}
.form-builder-top h3{font-size:2rem}
.form-back-btn{width:34px;min-height:34px;padding:0}
.form-builder-actions{display:flex;align-items:center;gap:8px}
.builder-status{min-height:34px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:0 10px}
.field-lite{display:grid;gap:6px}
.field-lite span{font-size:.95rem;font-weight:600}
.field-lite input,.field-lite select,.field-lite textarea{width:100%;min-height:35px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:0 11px}
.field-lite textarea{padding:8px 11px;min-height:auto}

.builder-blocks-head{display:flex;align-items:center;justify-content:space-between}
.builder-blocks-head h4{font-size:1.6rem}
.builder-block{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:10px}
.builder-block-head{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}
.builder-block-title{width:100%;min-height:34px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:9px;padding:0 10px}
.builder-weight-wrap{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.85rem}
.builder-weight-wrap input{width:62px;min-height:34px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:9px;padding:0 8px}
.remove-block-btn{min-height:34px;width:34px;padding:0}
.builder-questions{display:grid;gap:7px;margin-top:8px}
.builder-question-row{display:grid;grid-template-columns:minmax(220px,1fr) 96px 62px auto;gap:8px}
.builder-question-row input,.builder-question-row select{min-height:32px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;padding:0 9px}
.builder-question-row select{font-size:.85rem}
.remove-question-btn{min-height:32px;width:32px;padding:0}
.add-question-btn{justify-self:flex-start}
.users-create-panel,.users-list-panel{min-height:360px}
.users-create-panel .panel-head,
.users-list-panel .panel-head{margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.users-create-panel .form-two{row-gap:10px;column-gap:8px}
.users-create-panel .form-two .span-two{margin-top:2px}
.users-submit-btn{width:220px;max-width:100%;justify-self:start}
.users-list-panel #users{max-height:510px;overflow:auto;padding-right:2px}
.permission-box{display:grid;gap:8px}
.permission-box span{font-size:.92rem;font-weight:600}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border:1px solid var(--line);background:var(--panel-soft);border-radius:10px}
.permission-option{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--text);min-height:28px}
.permission-option input{width:16px;height:16px;margin:0}
.cadastros-bottom-grid{margin-top:2px;grid-template-columns:1fr!important}
.cadastros-products-panel,.cadastros-service-panel{min-height:360px}
.cadastros-service-panel{display:none!important}
#product-form{column-gap:8px;row-gap:10px;padding-bottom:2px}
#product-form .span-two{margin-top:0}
#product-form textarea{min-height:84px}
#product-form .primary{width:220px;max-width:100%;justify-self:start;margin-top:2px}
#products{margin-top:14px}
#products .item{padding:12px}
#service-level-form{column-gap:8px;row-gap:10px;padding-bottom:2px}
#service-level-form .span-two{margin-top:0}
#service-level-form textarea{min-height:84px}
#service-level-form .primary{width:220px;max-width:100%;justify-self:start;margin-top:2px}
#service-levels{margin-top:14px}
#service-levels .item{padding:12px}
.user-item{display:grid;gap:6px}
.user-item-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.user-actions{display:flex;gap:6px}
.user-action-btn{min-height:28px;padding:0 9px;border-radius:8px;font-size:.78rem}
.user-action-btn.delete{border-color:rgba(239,93,93,.45);color:#ef5d5d}
.user-action-btn.delete:hover{background:rgba(239,93,93,.12)}
.user-action-btn:disabled{opacity:.45;cursor:not-allowed}

.modal-overlay{position:fixed;inset:0;background:rgba(7,9,12,.68);display:grid;place-items:center;z-index:50;padding:16px}
.modal-card{width:min(100%,520px);background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.modal-choice-card{max-width:460px}
.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.modal-head h3{font-size:1.05rem}
.modal-close-btn{width:32px;min-height:32px;padding:0}
.modal-form{gap:10px}
.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.modal-actions .primary,.modal-actions .ghost{min-height:34px}
.choice-actions{display:grid;gap:10px;margin-top:4px}
.choice-btn{width:100%;min-height:40px}
.modal-danger #confirm-delete-user{background:#ef5d5d;color:#fff}
.modal-danger #confirm-delete-user:hover{filter:brightness(1.05)}

.toast{display:none;position:fixed;left:50%;bottom:18px;transform:translateX(-50%);pointer-events:none;background:var(--accent);color:var(--bg);padding:12px 16px;border-radius:999px;font-weight:700}.toast.show{display:block}

@media (max-width:1200px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1024px){.app{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--sidebar-border)}.view{padding:18px}.topbar{height:auto;padding:16px 18px;align-items:flex-start;flex-direction:column}}
@media (max-width:720px){.grid.two,.grid.four,.form.inline,.form-two{grid-template-columns:1fr}.span-two{grid-column:auto}.topbar-right,.view-toolbar{width:100%;flex-direction:column;align-items:stretch}.search-shell{max-width:none}.profile-pill{width:100%}.login-card h1{font-size:1.7rem}}
@media (max-width:720px){.permission-grid{grid-template-columns:1fr}}
@media (max-width:720px){.builder-question-row{grid-template-columns:1fr}.remove-question-btn{width:100%}}
@media (max-width:720px){.modal-actions{grid-template-columns:1fr}}
