:root{--bg:#080d12;--bg2:#0d141b;--panel:#111920;--panel2:#151e26;--line:#2a343e;--line2:#3b4650;--text:#f4f6f8;--muted:#9da6b0;--yellow:#f5b900;--yellow2:#ffd42c;--green:#43c86a;--red:#ff4d4f;--blue:#3b9df8;--shadow:0 18px 50px rgba(0,0,0,.3);--radius:14px;--sidebar:224px;--top:76px;font-family:Inter,"Segoe UI",Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);overflow-x:hidden}body{font-size:15px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}a{color:inherit;text-decoration:none}img,svg{max-width:100%}.hidden{display:none!important}.grow{flex:1}.muted{color:var(--muted)}.yellow{color:var(--yellow)}.green{color:var(--green)}.red{color:var(--red)}
.splash{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at 50% 36%,#17212a 0,#080d12 55%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:.4s}.splash img{width:min(340px,72vw)}.spinner{width:32px;height:32px;border:3px solid #303b44;border-top-color:var(--yellow);border-radius:50%;animation:spin .8s linear infinite}.splash small{color:var(--muted)}.splash.out{opacity:0;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}
.login-page{min-height:100svh;display:grid;grid-template-columns:minmax(460px,650px) 1fr;background:#070b0f}.login-panel{padding:clamp(30px,5vw,70px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;background:linear-gradient(135deg,#0d141b 0,#070c11 90%)}.login-visual{background:linear-gradient(90deg,#070b0f 0,transparent 45%),url(quarry.svg) center/cover;position:relative}.login-visual:after{content:"";position:absolute;inset:auto 0 0;height:120px;background:url(hazard.svg) center/cover;opacity:.8}.login-logo{width:330px;max-width:82%;margin:0 auto 28px}.login-copy{text-align:center;margin-bottom:22px}.login-copy h1{font-size:clamp(25px,4vw,40px);margin:0 0 7px}.login-copy p{font-size:17px;color:#b8bec5;margin:0}.offline-pill{margin:20px auto 26px;border:1px solid #285138;background:#0f1c16;color:#70d681;padding:10px 18px;border-radius:9px;width:max-content}.offline-pill:before{content:"";width:10px;height:10px;border-radius:50%;display:inline-block;background:var(--green);margin-right:9px;box-shadow:0 0 12px #43c86a88}.login-card{border:1px solid var(--line2);background:linear-gradient(140deg,#151b20cc,#0d1217dd);border-radius:18px;padding:28px;box-shadow:var(--shadow);max-width:540px;margin:0 auto;width:100%}.login-card h2{margin:0 0 20px;color:var(--yellow);font-size:20px}.field{display:grid;gap:7px;margin-bottom:15px}.field label{font-weight:600;color:#d8dde2}.field input,.field select,.field textarea,.searchbox{width:100%;border:1px solid #3a444d;background:#141a20;color:var(--text);border-radius:10px;padding:13px 14px;outline:none;transition:.2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px #f5b9001a}.field textarea{min-height:90px;resize:vertical}.login-meta{display:flex;justify-content:space-between;gap:12px;margin:10px 0 20px;color:#c7cbd0;font-size:13px}.checkline{display:flex;gap:8px;align-items:center}.checkline input{accent-color:var(--yellow)}.btn{border:1px solid var(--line2);color:#f4f6f8;background:#151d24;border-radius:10px;padding:11px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;transition:.18s}.btn:hover{border-color:#68737e;transform:translateY(-1px)}.btn-primary{background:linear-gradient(90deg,var(--yellow2),#f0ad00);border-color:#ffc928;color:#080b0d}.btn-outline{border-color:#b98a00;color:var(--yellow);background:transparent}.btn-danger{border-color:#72383b;color:#ff7779;background:#271416}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-sm{padding:7px 10px;min-height:34px;font-size:12px}.btn-block{width:100%;margin-top:10px}.support-note{text-align:center;color:var(--muted);margin:20px 0 0}
.app-shell{min-height:100svh;background:radial-gradient(circle at 72% -20%,#192630 0,#0a1016 35%)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:linear-gradient(160deg,#111a22,#0b1218);border-right:1px solid var(--line);z-index:30;display:flex;flex-direction:column}.side-logo{padding:24px 22px 18px}.side-logo img{width:178px}.nav-list{padding:8px 12px;display:grid;gap:5px;overflow:auto}.nav-item{border:1px solid transparent;background:transparent;color:#b6bec6;border-radius:9px;padding:11px 12px;display:flex;align-items:center;gap:12px;text-align:left;width:100%;transition:.2s}.nav-item:hover{background:#151e26;color:#fff}.nav-item.active{color:var(--yellow);background:#2b2515;border-color:#584817}.nav-item svg,.icon{width:20px;height:20px;flex:0 0 20px;stroke:currentColor;fill:none;stroke-width:1.8}.side-bottom{margin-top:auto;padding:16px 13px}.license-card{border:1px solid var(--line);border-radius:9px;padding:13px;display:flex;gap:10px;align-items:center;background:#111820}.license-card strong{display:block}.license-card small{color:var(--yellow)}.version{color:#66717b;font-size:11px;margin:14px 5px}.hazard{height:68px;margin:0 -13px -16px;background:url(hazard.svg) center/cover}.topbar{position:fixed;left:var(--sidebar);right:0;top:0;height:var(--top);border-bottom:1px solid #1d2831;background:#0a1016e8;backdrop-filter:blur(16px);z-index:20;display:flex;align-items:center;padding:0 28px;gap:20px}.mobile-menu{display:none}.page-title{min-width:290px}.page-title h1{font-size:24px;margin:0 0 4px}.page-title p{margin:0;color:var(--muted)}.top-search{margin-left:auto;width:min(420px,35vw);position:relative}.top-search input{padding-left:40px}.top-search svg{position:absolute;left:13px;top:12px;color:#9ca4ac}.status-online{display:flex;gap:8px;align-items:center;color:#aab2ba;font-size:12px}.status-online i{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 9px #43c86a}.status-online.offline i{background:var(--red)}.user-menu{display:flex;align-items:center;gap:10px;border-left:1px solid var(--line);padding-left:18px}.avatar{width:39px;height:39px;border:2px solid var(--yellow);border-radius:50%;display:grid;place-items:center;color:var(--yellow);font-weight:800}.notification-btn{position:relative;width:40px;padding:8px}.notification-btn sup{position:absolute;right:2px;top:1px;background:var(--yellow);color:#080b0d;border-radius:20px;min-width:17px;height:17px;line-height:17px;font-size:10px}.main{margin-left:var(--sidebar);padding:calc(var(--top) + 24px) 28px 35px;min-height:100svh}.mobile-bottom{display:none}
.page-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.page-head h2{margin:0;font-size:21px}.page-head p{margin:4px 0 0;color:var(--muted)}.head-actions{display:flex;gap:10px;flex-wrap:wrap}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}.kpi{border:1px solid var(--line);background:linear-gradient(140deg,#141d25,#0e151c);border-radius:var(--radius);padding:17px;display:flex;gap:14px;align-items:center;position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--green)}.kpi.warn:before{background:var(--red)}.kpi-icon{width:58px;height:58px;border-radius:11px;border:1px solid #34404a;display:grid;place-items:center;color:var(--yellow);background:#131b22}.kpi-icon svg{width:28px;height:28px}.kpi small{color:#aeb5bc}.kpi strong{display:block;font-size:25px;margin:4px 0}.trend{font-size:11px;color:var(--green)}.trend.down{color:var(--red)}.grid-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:18px}.stack{display:grid;gap:18px}.panel{border:1px solid var(--line);background:linear-gradient(145deg,#121a22,#0e151b);border-radius:var(--radius);box-shadow:0 8px 25px #0002;overflow:hidden}.panel-pad{padding:19px}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:17px 19px 10px;gap:12px}.panel-head h3{margin:0;color:var(--yellow);font-size:15px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th{text-align:left;color:#aab2bb;font-weight:600;font-size:12px;padding:11px 16px;border-bottom:1px solid var(--line)}.data-table td{padding:11px 16px;border-bottom:1px solid #222c35;color:#cbd1d6}.data-table tr:last-child td{border:0}.data-table tr:hover td{background:#17212a}.status{display:inline-flex;padding:5px 8px;border-radius:6px;border:1px solid;font-size:11px;font-weight:700}.status.green{color:#54d778;border-color:#285d3a;background:#102419}.status.yellow{color:#ffc61a;border-color:#725a0d;background:#29220b}.status.blue{color:#58affb;border-color:#27577e;background:#0f2130}.status.gray{color:#b9c0c7;border-color:#4a535c;background:#20262c}.status.red{color:#ff6e70;border-color:#743336;background:#2a1315}.list{display:grid}.list-row{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-bottom:1px solid #222d35}.list-row:last-child{border-bottom:0}.list-row .grow{flex:1}.list-row strong{display:block;font-size:13px;margin-bottom:3px}.list-row small{color:var(--muted)}.alert-icon{width:25px;height:25px;color:var(--yellow);flex:none}.alert-icon.danger{color:var(--red)}.chart{height:210px;padding:12px 18px 20px;position:relative}.chart svg{width:100%;height:100%;overflow:visible}.chart-grid line{stroke:#2b353d;stroke-width:1}.chart-line{fill:none;stroke:var(--yellow);stroke-width:3}.chart-line.secondary{stroke:#78838d;stroke-width:2}.chart-dot{fill:var(--yellow)}.sync-ring{width:124px;height:124px;margin:12px auto;border-radius:50%;background:conic-gradient(var(--yellow) 0 78%,#27313a 78%);display:grid;place-items:center;position:relative}.sync-ring:after{content:"";position:absolute;inset:10px;background:#111920;border-radius:50%}.sync-ring div{z-index:1;text-align:center}.sync-ring strong{font-size:26px;display:block}
.toolbar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.toolbar .searchbox{max-width:360px}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.item-card{border:1px solid var(--line);background:linear-gradient(145deg,#141d25,#0d141a);border-radius:var(--radius);padding:17px;position:relative;overflow:hidden}.item-card:after{content:"";position:absolute;right:-38px;top:-44px;width:105px;height:105px;border:1px solid #f5b90020;border-radius:50%}.item-card h3{font-size:16px;margin:7px 0}.eyebrow{color:var(--yellow);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.card-meta{display:grid;gap:8px;color:#b4bcc4;margin:14px 0}.card-meta span{display:flex;gap:8px;align-items:center}.card-actions{display:flex;gap:7px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}.empty{padding:45px 20px;text-align:center;color:var(--muted)}.empty svg{width:45px;height:45px;color:#5f6972}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-grid .span-2{grid-column:1/-1}.notice{border-left:3px solid var(--yellow);padding:12px 14px;background:#2d260e;color:#e5d89b;border-radius:7px;margin:12px 0}.notice.info{border-color:var(--blue);background:#102130;color:#b9d7ef}.notice.success{border-color:var(--green);background:#11291a;color:#b7e9c6}
.field-home{max-width:720px;margin:0 auto}.field-hero{background:linear-gradient(180deg,#07101733,#071017f7),url(quarry.svg) center/cover;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:16px;min-height:180px;display:flex;flex-direction:column;justify-content:flex-end}.field-hero .mini-logo{width:220px;margin-bottom:auto}.field-hero h2{font-size:29px;margin:20px 0 3px}.signal-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:13px 0}.signal{border:1px solid #48535d;background:#10171dcc;border-radius:10px;padding:10px;text-align:center}.signal:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green);margin-right:7px}.operation-summary{border:1px solid var(--line2);border-radius:14px;background:#11181ed9;padding:16px}.info-row{display:flex;gap:13px;padding:13px 4px;border-bottom:1px solid #303941}.info-row:last-child{border:0}.info-row svg{color:var(--yellow);width:25px;height:25px}.info-row small{display:block;color:#a9b0b7;margin-bottom:4px}.info-row strong{font-size:16px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.quick{border:1px solid #3d4851;background:#111920;border-radius:11px;padding:14px;display:flex;gap:11px;align-items:center;color:#f3f5f6;text-align:left}.quick svg{color:var(--yellow);width:27px;height:27px}.quick small{display:block;color:var(--muted);margin-top:3px}.check-card{border:1px solid var(--line);border-radius:13px;background:#10171d;padding:15px;margin-top:12px}.check-card h3{color:var(--yellow);font-size:15px;margin:0 0 9px}.check-item{display:flex;gap:11px;align-items:center;padding:11px 4px;border-bottom:1px solid #2c343b}.check-item:last-child{border:0}.check-item input{width:20px;height:20px;accent-color:var(--yellow)}
.wizard{max-width:760px;margin:0 auto}.wizard-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.progress{height:7px;border-radius:10px;background:#27313a;overflow:hidden;margin-bottom:20px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),#ffd82c);transition:.3s}.wizard-card{border:1px solid var(--line);background:linear-gradient(145deg,#131c23,#0d141a);border-radius:16px;padding:clamp(16px,4vw,28px);min-height:400px}.wizard-card h2{margin-top:0}.choice-list{display:grid;gap:10px}.choice{border:1px solid var(--line2);background:#141c22;border-radius:11px;padding:14px;text-align:left;color:#fff;display:flex;gap:12px;align-items:center}.choice.selected{border-color:var(--yellow);box-shadow:0 0 0 2px #f5b9001c;background:#28220f}.choice-radio{width:18px;height:18px;border:2px solid #69747e;border-radius:50%}.selected .choice-radio{border:5px solid var(--yellow)}.wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.dropzone{border:1px dashed #5b6670;border-radius:13px;min-height:170px;display:grid;place-items:center;text-align:center;padding:20px;background:#0d141a}.dropzone svg{width:45px;height:45px;color:var(--yellow)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px}.photo{aspect-ratio:1;border-radius:9px;overflow:hidden;border:1px solid var(--line);background:#111}.photo img{width:100%;height:100%;object-fit:cover}.location-map{height:240px;border-radius:13px;border:1px solid var(--line);background:radial-gradient(circle at 35% 45%,#f5b900 0 5px,transparent 6px),linear-gradient(28deg,transparent 48%,#26323b 49% 51%,transparent 52%),linear-gradient(110deg,transparent 48%,#26323b 49% 51%,transparent 52%),#111a20;display:grid;place-items:center}.map-pin{color:var(--yellow);width:48px;height:48px;filter:drop-shadow(0 5px 8px #000)}.signature-wrap{border:1px solid #58636c;border-radius:12px;background:#f3f4f5;overflow:hidden}.signature-wrap canvas{width:100%;height:220px;display:block;touch-action:none}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-item{padding:12px;background:#151e25;border:1px solid var(--line);border-radius:9px}.review-item small{display:block;color:var(--muted);margin-bottom:4px}
.report-paper{max-width:940px;margin:0 auto;background:#fff;color:#17202a;border-radius:4px;padding:45px;box-shadow:0 20px 50px #0005}.report-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:4px solid #f5b900;padding-bottom:20px}.report-head img{width:260px;filter:brightness(.25)}.report-head .report-status{color:#18783c;border:1px solid #18783c;padding:8px 12px;border-radius:6px;font-weight:800}.report-company{margin-top:18px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#5c6670}.report-paper h1{font-size:25px;margin:12px 0 4px}.report-paper h2{font-size:16px;border-bottom:1px solid #d8dce0;padding-bottom:7px;margin-top:25px}.report-info{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-info div{background:#f2f4f6;padding:12px;border-radius:5px}.report-info small{display:block;color:#68727c}.report-check{display:grid;grid-template-columns:1fr 1fr;gap:8px}.report-signature img{max-width:300px;max-height:100px}.report-footer{border-top:1px solid #d8dce0;margin-top:30px;padding-top:12px;display:flex;justify-content:space-between;gap:16px;color:#66717a;font-size:12px}
.toast-root{position:fixed;right:18px;top:88px;z-index:100;display:grid;gap:9px;width:min(360px,calc(100vw - 36px))}.toast{border:1px solid var(--line2);background:#172029;color:white;border-radius:11px;padding:13px 14px;box-shadow:var(--shadow);display:flex;gap:10px;align-items:flex-start;animation:toastIn .25s}.toast.success{border-left:4px solid var(--green)}.toast.error{border-left:4px solid var(--red)}.toast.info{border-left:4px solid var(--yellow)}@keyframes toastIn{from{opacity:0;transform:translateX(25px)}}.modal-backdrop{position:fixed;inset:0;z-index:90;background:#020508c7;backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px}.modal{width:min(620px,100%);max-height:calc(100svh - 32px);overflow:auto;border:1px solid #414c56;background:linear-gradient(145deg,#17212a,#0c1319);border-radius:16px;box-shadow:0 30px 90px #000;padding:22px}.modal h2{margin:0 0 7px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.role-card{border:1px solid var(--line2);background:#121a21;border-radius:12px;padding:16px;text-align:left;color:#fff}.role-card:hover{border-color:var(--yellow)}.role-card strong{display:block;color:var(--yellow);margin-bottom:4px}.tutorial{width:min(460px,100%)}.tutorial-count{color:var(--yellow);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.tutorial-spot{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#2b2410;color:var(--yellow);margin:17px 0}.tutorial-spot svg{width:34px;height:34px}.skeleton{background:linear-gradient(90deg,#182129,#222d36,#182129);background-size:200%;animation:sk 1.1s infinite;border-radius:8px;color:transparent!important}@keyframes sk{to{background-position:-200%}}
.user-menu{background:transparent;color:var(--text);border-top:0;border-right:0;border-bottom:0;text-align:left}.modal-wide{width:min(880px,100%)}.metric-strip,.calculation-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.metric-strip span,.calculation-preview span{background:#0c1319;border:1px solid var(--line);border-radius:8px;padding:9px}.metric-strip small,.calculation-preview small{display:block;color:var(--muted);font-size:11px}.metric-strip strong,.calculation-preview strong{display:block;margin-top:3px;color:#fff}.calculation-preview{padding:12px;border:1px solid #6a5718;background:#27210d;border-radius:11px}.status-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:4px 18px 20px}.status-summary>div{border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;align-items:center;justify-content:space-between}.status-summary strong{font-size:24px}.compliance-note{border:1px solid #514719;background:#25200e;color:#e9d98e;border-radius:9px;padding:13px 15px;margin:15px 0;line-height:1.5}.notice.danger{border-color:var(--red);background:#2a1315;color:#ffd0d0}.list-row.seen{opacity:.58}.kpis.compact{grid-template-columns:repeat(3,1fr)}.searchbox.small{max-width:280px;padding:9px 11px}.profile-avatar{width:64px;height:64px;font-size:24px}.photo{position:relative}.photo button{position:absolute;right:5px;top:5px;width:28px;height:28px;border:0;border-radius:50%;background:#000c;color:#fff;font-size:20px}.setup-page{min-height:100svh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 70% 0,#25323d,#070b0f 54%)}.setup-card{width:min(720px,100%);border:1px solid var(--line2);border-radius:20px;background:linear-gradient(145deg,#151e26,#0b1117);padding:clamp(24px,5vw,46px);box-shadow:0 30px 100px #0008}.setup-logo{width:290px;margin-bottom:28px}.setup-step{color:var(--yellow);font-size:12px;letter-spacing:.12em;font-weight:800}.setup-card h1{font-size:clamp(26px,5vw,40px);margin:10px 0}.setup-foot{text-align:center;color:var(--muted);font-size:12px;margin:18px 0 0}
@media(max-width:1100px){.kpis{grid-template-columns:1fr 1fr}.grid-main{grid-template-columns:1fr}.cards-grid{grid-template-columns:1fr 1fr}.login-page{grid-template-columns:minmax(430px,560px) 1fr}}
@media(max-width:1000px) and (min-width:761px){.top-search{display:none}.topbar .status-online{margin-left:auto}.page-title{min-width:0}.user-menu .user-text{display:none}}
@media(max-width:760px){:root{--top:64px}.login-page{display:block;background:linear-gradient(#071017bb,#071017f2),url(quarry.svg) center/cover fixed}.login-panel{min-height:100svh;padding:28px 18px 80px;background:linear-gradient(180deg,#0b1117e6,#080c10fa)}.login-visual{display:none}.login-logo{width:245px;margin-bottom:20px}.login-copy h1{font-size:29px}.login-copy p{font-size:15px}.offline-pill{margin:14px auto 18px}.login-card{padding:20px 17px}.login-meta{font-size:12px}.sidebar{transform:translateX(-101%);transition:.25s;width:min(280px,86vw);box-shadow:20px 0 60px #0008}.sidebar.open{transform:translateX(0)}.topbar{left:0;padding:0 14px;gap:11px}.mobile-menu{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:9px;background:#111920;color:#fff}.page-title{min-width:0}.page-title h1{font-size:18px}.page-title p,.top-search,.user-menu .user-text{display:none}.topbar .status-online{margin-left:auto}.main{margin-left:0;padding:calc(var(--top) + 16px) 13px 90px}.mobile-bottom{position:fixed;display:flex;bottom:0;left:0;right:0;height:70px;background:#0c1319ed;border-top:1px solid var(--line);backdrop-filter:blur(12px);z-index:25;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom button{flex:1;background:transparent;border:0;color:#7f8992;display:grid;place-items:center;align-content:center;gap:3px;font-size:10px}.mobile-bottom button.active{color:var(--yellow)}.mobile-bottom svg{width:22px;height:22px}.page-head{align-items:flex-start}.page-head h2{font-size:19px}.kpis,.kpis.compact{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:12px;gap:9px}.kpi-icon{width:42px;height:42px}.kpi-icon svg{width:21px}.kpi strong{font-size:20px}.kpi .trend{display:none}.cards-grid{grid-template-columns:1fr}.panel-head{padding:14px}.data-table{min-width:0;display:block}.data-table thead{display:none}.data-table tbody,.data-table tr,.data-table td{display:block}.data-table tr{padding:13px;border-bottom:1px solid var(--line)}.data-table td{border:0;padding:4px 0;padding-left:42%;position:relative;min-height:25px}.data-table td:before{content:attr(data-label);position:absolute;left:0;width:39%;color:#8e98a1;font-size:11px}.table-wrap{overflow:visible}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.toolbar .searchbox{max-width:none;flex:1;min-width:200px}.field-home{max-width:none}.field-hero{padding:18px;min-height:210px}.field-hero .mini-logo{width:190px}.field-hero h2{font-size:25px}.signal-row{gap:6px}.signal{padding:9px 5px;font-size:11px}.quick{padding:12px 10px}.quick small{font-size:10px}.wizard-card{min-height:420px}.review-grid,.report-info,.report-check,.metric-strip,.calculation-preview,.status-summary{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr 1fr}.report-paper{padding:23px 18px}.report-head{display:block}.report-head img{width:220px;margin-bottom:18px}.report-footer{display:grid}.role-grid{grid-template-columns:1fr}.toast-root{top:72px}.page-head .head-actions .btn span{display:none}.setup-page{padding:14px}.setup-card{padding:24px 18px}}
@media(max-width:360px){.kpis{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.login-copy h1{font-size:25px}.login-card{padding:17px 14px}.signal{font-size:10px}.page-head{display:block}.head-actions{margin-top:10px}}
@media print{body{background:#fff}.sidebar,.topbar,.mobile-bottom,.page-head,.no-print,.toast-root{display:none!important}.main{margin:0;padding:0;background:#fff}.report-paper{box-shadow:none;max-width:none;padding:20px}.report-footer{break-inside:avoid}@page{margin:12mm}}

/* 2.1 — clearer hierarchy and comfortable field controls */
.report-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-photos figure{margin:0;break-inside:avoid}.report-photos img{max-height:280px;width:100%;object-fit:contain;background:#f0f2f4}.report-photos figcaption{font-size:14px;color:#4b5761}
body{font-size:16px;line-height:1.45}
.btn,.nav-item{min-height:44px}
.btn-sm,.status,.eyebrow,.trend,.version,.list-row strong{font-size:14px}
.btn:focus-visible,.nav-item:focus-visible,button:focus-visible{outline:3px solid #ffd42c;outline-offset:3px}
.journey-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0 24px;border-bottom:1px solid var(--line)}
.journey-intro h2{font-size:clamp(26px,3vw,36px);line-height:1.15;margin:10px 0}
.journey-intro p,.journey-row p,.work-card p{color:#b9c4cd;margin:6px 0}
.journey-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}
.journey-counts>div{display:flex;align-items:center;gap:15px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#101a23}
.journey-counts strong{font-size:30px;font-variant-numeric:tabular-nums;color:var(--yellow)}
.journey-counts span{color:#c3cbd2}
.work-card{border:1px solid #7b6226;background:linear-gradient(120deg,#28220f,#141d24);padding:24px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.work-card h3{margin:9px 0;font-size:22px}.work-card small{color:#b7c0c7;font-size:14px}
.journey-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.journey-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px;border-top:1px solid var(--line)}
.journey-row>div{min-width:0}.journey-row h4{margin:4px 0;font-size:17px;overflow-wrap:anywhere}.journey-row small{color:#aebcc7;font-size:14px}
.journey-row .btn{flex-shrink:0}
.journey-steps{display:grid;grid-template-columns:repeat(8,1fr);padding:0;margin:16px 0 24px;list-style:none;gap:5px}
.journey-steps li{text-align:center;color:#a8b2bc}.journey-steps li>span{display:grid;place-items:center;width:30px;height:30px;margin:auto;border:1px solid #58636d;border-radius:50%;font-size:14px}
.journey-steps li small{font-size:12px;display:block;margin-top:8px}.journey-steps .current{color:var(--yellow);font-weight:700}
.journey-steps .current>span{background:var(--yellow);color:#101010;border-color:var(--yellow)}.journey-steps .completed>span{border-color:#51b773;color:#8adca6}
.work-context{padding:12px 16px;border-left:3px solid var(--yellow);margin-bottom:20px;background:#18232d;display:flex;gap:12px;flex-wrap:wrap}
.work-context span{color:#bfcad3}.journey-wizard .wizard-card{min-height:280px}
.draft-feedback{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;font-size:14px;color:#b5d9bd}
.draft-feedback .save-error{color:#ffb2b2}.device-note{font-size:14px;color:#a4b3bf;margin:22px 0}
.review-pending{margin:20px 0 0;border:1px solid var(--line);padding:15px;border-radius:12px}
.review-pending h3{margin:0 0 12px}.review-pending .btn{display:flex;width:100%;justify-content:flex-start;margin:8px 0;text-align:left}
.location-summary{display:flex;gap:20px;padding:25px;border:1px solid var(--line);border-radius:12px;margin:20px 0;background:#16222d;overflow-wrap:anywhere}
.completion-card{max-width:700px;margin:30px auto;padding:40px;border:1px solid #377a4a;background:#10201a;border-radius:18px;text-align:center}
.completion-card>.icon{width:56px;height:56px;color:#79d997}.completion-card h2{font-size:32px}.completion-card>div:last-child{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:25px}
.photo button{min-width:44px;min-height:44px}.field input,.field textarea,.field select{font-size:16px}.page-title{min-width:0}.top-search{max-width:280px}.topbar{gap:14px}.user-menu{min-width:0}.user-text{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main>.panel{margin-bottom:20px}
@media(max-width:1200px){.top-search{display:none}.topbar .status-online{margin-left:auto}.journey-columns{grid-template-columns:1fr}.journey-counts>div{padding:14px}}
@media(max-width:760px){
 .main{padding-bottom:100px}.journey-intro{display:block;padding:8px 0 24px}.journey-intro .btn{width:100%;margin-top:18px;min-height:52px}
 .journey-counts{gap:8px;margin:18px 0}.journey-counts>div{display:block;padding:12px}.journey-counts strong{display:block;font-size:27px}.journey-counts span{font-size:14px}
 .work-card{display:block;padding:20px}.work-card .btn{width:100%;margin-top:15px;min-height:50px}
 .journey-row{display:block;padding:18px}.journey-row .btn{margin-top:12px;width:100%}
 .mobile-bottom{height:calc(74px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
 .mobile-bottom button{font-size:14px;gap:4px;min-width:0}.mobile-bottom .icon{width:24px;height:24px}
 .journey-steps{gap:6px}.journey-steps li small{display:none}.journey-steps li>span{width:28px;height:28px}.journey-steps{margin-bottom:18px}
 .journey-wizard .wizard-card{padding:20px 16px;min-height:0}.wizard-card h2{font-size:24px}.wizard-card .check-item{min-height:56px;align-items:flex-start}.check-item input{flex-shrink:0;min-width:22px;min-height:22px}
 .journey-wizard .wizard-actions{position:sticky;bottom:calc(78px + env(safe-area-inset-bottom));padding:12px 0;background:#0a1016f5;z-index:10;display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line)}
 .wizard-actions .btn{min-height:52px}.draft-feedback{display:block}.draft-feedback .btn{display:flex;margin-top:12px;width:100%}
 .device-note{margin:12px 0}.work-context{display:grid;gap:3px}.completion-card{padding:25px 18px;margin:12px 0}.completion-card .btn{width:100%}
 .panel-head{flex-wrap:wrap}.status{font-size:13px}.page-head{flex-wrap:wrap}.page-head>.btn{width:100%}.table-wrap .data-table td:before{font-size:14px}
 .location-summary{padding:18px;gap:12px}.topbar{gap:8px}.topbar .status-online{font-size:12px}.notification-btn{display:none}.user-menu{padding-left:8px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* 2.2 - validation guidance and programmer test mode */
.notice.warning,.report-warning{border:1px solid #9c7c29;background:#2a2412;color:#f3df9a;border-radius:10px;padding:14px 16px;margin:16px 0;line-height:1.5}.report-warning{background:#fff8dc;color:#55430e;border-color:#c8a647;break-inside:avoid}.guided-test-start{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid #725f22;background:#211d0f;border-radius:14px;margin-bottom:20px}.guided-test-start h3{margin:6px 0}.guided-test-start p{margin:0;color:#cbd2d8}.guided-test-panel{position:fixed;right:18px;bottom:18px;width:min(390px,calc(100vw - 36px));z-index:90;background:#101920;border:1px solid #8a7124;box-shadow:0 18px 50px #0009;border-radius:14px;padding:16px;color:#eef2f5}.guided-test-panel h4{margin:10px 0 6px;font-size:18px}.guided-test-panel p{margin:0 0 14px;color:#c9d1d7;line-height:1.45}.guided-test-head{display:flex;justify-content:space-between;align-items:center;color:#ffd84a}.guided-test-head button{background:transparent;color:#fff;border:0;font-size:25px;line-height:1;cursor:pointer;min-width:40px;min-height:40px}.guided-test-actions{display:flex;gap:8px;flex-wrap:wrap}.guided-test-actions .btn:first-child{flex:1}.report-info strong{overflow-wrap:anywhere}
@media(max-width:760px){.guided-test-start{display:block}.guided-test-start .btn{width:100%;margin-top:14px}.guided-test-panel{right:10px;left:10px;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;max-height:44vh;overflow:auto}.report-warning{font-size:13px}}
@media print{.guided-test-panel,.guided-test-start{display:none!important}.report-warning{color:#333;background:#fff;border:1px solid #999}}

/* 2.3 — access management, approval workflow and mobile field ergonomics */
.link-button{display:block;margin:14px auto 0;border:0;background:transparent;color:#f0c844;cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:3px}.lookup-wrap{position:relative}.lookup-menu{position:absolute;z-index:110;left:0;right:0;top:calc(100% + 4px);background:#111a22;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #0008;overflow:hidden;max-height:240px;overflow-y:auto}.lookup-menu:empty{display:none}.lookup-menu button{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:#eef3f7;text-align:left;padding:12px 14px;cursor:pointer}.lookup-menu button:hover,.lookup-menu button:focus{background:#1d2a34}.form-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 12px;background:#101820;border:1px solid var(--line);border-radius:10px}.memory-tools-copy{display:grid;gap:2px;min-width:0}.memory-tools-copy strong{font-size:13px;color:#dce2e7}.memory-tools-copy small{font-size:11px;color:#8f9aa4}.memory-toggle{white-space:nowrap}.plan-cover,.approval-cover{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#19242d,#10171d);margin-bottom:18px}.cover-tags{display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap;color:#bbc4cc}.cover-metrics{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:8px}.cover-metrics span{padding:10px;border-radius:10px;background:#0b1117;text-align:center}.cover-metrics small{display:block;color:#929da7}.cover-metrics strong{display:block;color:#ffd84a;margin-top:4px}.revision-box{border:1px solid var(--line);border-radius:12px;padding:14px;margin:16px 0;background:#0f171e}.revision-box h3{margin-top:0}.revision-row{padding:12px 0;border-top:1px solid var(--line)}.revision-row:first-of-type{border-top:0}.revision-row small{display:block;color:#94a0aa;margin:3px 0 8px}.revision-row p,.revision-box p{margin:5px 0;color:#ccd3d9}.notice.danger{border:1px solid #9f4343;background:#2c1717;color:#ffc4c4;border-radius:10px;padding:14px 16px;margin:14px 0}.permission-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.permission-grid>div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#101820}.permission-grid strong,.permission-grid small{display:block}.permission-grid small{color:#9ba6af;margin-top:4px;line-height:1.35}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.member-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px}.member-picker .check-item{margin:0;background:#101820;border-radius:8px}.member-picker small{display:block;color:#99a5ae}.credential-box{font:700 20px/1.2 ui-monospace,monospace;letter-spacing:1px;padding:18px;border:1px dashed #d8ad37;border-radius:10px;background:#19170f;text-align:center;color:#ffe37a}.approval-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.approval-row{align-items:flex-start}.mini-plan-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.mini-plan-summary span{font-size:12px;padding:4px 7px;border-radius:999px;background:#16222b;color:#bfc8cf}.technical-settings{border-color:#6b5b22}.inline-actions{display:flex;gap:8px}.inline-actions input{flex:1}.smtp-test-field{margin-top:18px}.modal-actions.left{justify-content:flex-start}
@media(max-width:900px){.permission-grid{grid-template-columns:1fr 1fr}.member-picker{grid-template-columns:1fr}.plan-cover,.approval-cover{display:block}.cover-metrics{margin-top:14px}}
@media(max-width:760px){.permission-grid{grid-template-columns:1fr}.cover-metrics{grid-template-columns:1fr 1fr}.table-actions .btn{width:100%}.inline-actions{display:block}.inline-actions .btn{width:100%;margin-top:8px}.form-tools{position:static;z-index:auto}.memory-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 22px;padding:9px 10px;border-radius:10px;background:#0f171e}.memory-tools-copy{min-width:0;display:grid;gap:2px}.memory-tools-copy strong{font-size:13px;line-height:1.2}.memory-tools-copy small{font-size:11px;line-height:1.25;color:#8f9aa4}.memory-toggle{flex:0 0 auto;min-height:36px;padding:7px 10px;white-space:nowrap}.lookup-menu{position:fixed;left:12px;right:12px;top:auto;bottom:90px;max-height:40vh}.member-picker{max-height:45vh}}

/* 2.4 — work tabs, scoped administration and approval flow */
.work-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.work-list{display:grid;gap:12px}.work-summary{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#111a22,#0d141a)}.work-summary h3{margin:4px 0 6px}.work-summary p{margin:0;color:#aeb8c1;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.work-summary .icon{width:16px;height:16px}.work-summary>.btn{flex:0 0 auto}.field-static{min-height:47px;display:flex;align-items:center;border:1px solid var(--line);background:#101820;border-radius:10px;padding:11px 13px;color:#bfc8cf;line-height:1.35}.field-static strong{color:#ffd84a}.scope-note{font-size:12px;color:#9da8b1;margin-top:6px}
@media(max-width:760px){.work-tabs{display:grid;grid-template-columns:1fr 1fr;position:sticky;top:calc(var(--top) + 1px);z-index:12;background:#0a1016f2;padding:8px 0}.work-tabs .btn{min-width:0;padding-left:8px;padding-right:8px}.work-summary{display:block;padding:16px}.work-summary>.btn{width:100%;margin-top:14px;min-height:50px}.work-summary .mini-plan-summary{margin-top:10px}.field-static{min-height:52px}}

/* 2.5 — branded entry, legal consent and multilingual controls */
.lang-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid #39434c;background:#0c1217;border-radius:10px}.lang-switch button{min-width:38px;min-height:32px;border:0;border-radius:7px;background:transparent;color:#9fa8b1;font-weight:800;cursor:pointer}.lang-switch button.active{background:var(--yellow);color:#080b0d}.lang-entry{position:absolute;top:22px;right:24px;z-index:3}.lang-login{position:absolute;top:22px;right:24px}.lang-top{flex:0 0 auto}.login-back{position:absolute;top:22px;left:24px}.hazard-stripe{height:38px;background:repeating-linear-gradient(135deg,#f2b600 0 32px,#111 32px 64px);box-shadow:0 1px 0 #f2b60055,0 -1px 0 #000}.welcome-page{min-height:100svh;background:linear-gradient(#05080bcc,#05080bf2),url(quarry.svg) center/cover fixed;position:relative;display:flex;flex-direction:column}.welcome-page>.hazard-stripe.bottom,.terms-page>.hazard-stripe.bottom{margin-top:auto}.welcome-hero{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:clamp(44px,6vw,78px) 0 42px;position:relative}.welcome-head{text-align:center;padding-top:10px}.welcome-logo{width:min(560px,78vw);filter:drop-shadow(0 8px 24px #000a)}.welcome-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:clamp(13px,2vw,18px);font-weight:800;color:#f5f6f7;margin:18px 0 5px}.welcome-head h1{text-transform:uppercase;letter-spacing:.06em;font-size:clamp(19px,3vw,32px);margin:0;color:#f2c536}.safety-banner{margin:34px auto 28px;display:flex;align-items:center;justify-content:center;gap:18px;background:linear-gradient(90deg,#f0ad00,#ffd12f,#f0ad00);color:#090b0d;border:3px solid #1b1b1b;border-radius:10px;padding:18px 22px;box-shadow:0 14px 35px #0007;max-width:900px;position:relative}.safety-banner:before,.safety-banner:after{content:"";position:absolute;left:0;right:0;height:8px;background:repeating-linear-gradient(135deg,#111 0 18px,transparent 18px 36px)}.safety-banner:before{top:0}.safety-banner:after{bottom:0}.safety-banner .icon{width:44px;height:44px;stroke-width:2.2}.safety-banner strong{display:block;font-size:clamp(21px,3.5vw,38px);text-transform:uppercase;line-height:1.05;text-align:center}.safety-banner small{display:block;font-size:clamp(14px,2vw,20px);font-weight:800;text-align:center;margin-top:5px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.values-grid article{border:1px solid #5a4a18;background:linear-gradient(180deg,#14191dcc,#0c1014e8);border-radius:12px;padding:22px;box-shadow:0 10px 30px #0005}.values-grid h2{display:inline-block;margin:12px 0 15px;color:#ffd02b;border:2px solid #d19b00;padding:5px 10px;font-size:23px}.values-grid ul{margin:0;padding-left:20px;color:#e4e7e9;line-height:1.45}.values-grid li{margin:8px 0}.values-grid li::marker{color:var(--yellow)}.value-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid #866b1f;border-radius:12px;color:#ffc817;background:#17150b}.value-icon .icon{width:30px;height:30px}.welcome-responsible{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:7px 12px;border-top:2px solid #e1a900;border-bottom:1px solid #463a16;padding:18px 12px;margin:28px 0 20px;text-align:center;text-transform:uppercase}.welcome-responsible strong{color:#ffc527;font-size:19px}.welcome-responsible span{font-weight:800}.welcome-responsible small{width:100%;color:#bfc4c8}.welcome-access{display:flex;margin:24px auto 0;min-width:min(420px,100%);min-height:58px;font-size:17px;letter-spacing:.03em}.terms-page{min-height:100svh;background:radial-gradient(circle at 50% 12%,#20220f 0,#070a0c 37%,#040607 100%);display:flex;flex-direction:column}.terms-shell{width:min(760px,calc(100% - 28px));margin:0 auto;padding:30px 0 38px;text-align:center;position:relative}.terms-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;border:1px solid #4b421d;background:#0c1114;padding:12px 14px;border-radius:12px;margin-bottom:32px}.terms-head img{width:250px}.terms-head .term-back{justify-self:start}.terms-head .lang-switch{justify-self:end}.terms-icon{width:92px;height:92px;margin:0 auto 8px;color:#ffcc21;display:grid;place-items:center}.terms-icon .icon{width:82px;height:82px;stroke-width:1.7}.terms-shell>.eyebrow{color:#e8b817}.terms-shell h1{text-transform:uppercase;color:#ffc82c;font-size:clamp(25px,5vw,42px);margin:12px 0 6px}.terms-subtitle{color:#d8be62;font-size:18px;font-weight:700;margin:0 0 22px}.terms-legal{text-align:left;border:2px solid #d9a519;background:linear-gradient(145deg,#0b0f12,#11130d);border-radius:18px;padding:24px 28px;box-shadow:0 0 28px #c8931824 inset,0 12px 40px #0007}.terms-legal h2{color:#ffc628;font-size:20px;margin:0 0 14px}.terms-legal ul{margin:0;padding-left:22px;color:#f0f1f2;line-height:1.48}.terms-legal li{margin:11px 0}.terms-check{display:flex;justify-content:center;align-items:center;margin:23px auto 16px;font-size:21px;cursor:pointer}.terms-check input{width:25px;height:25px;accent-color:#f5b900;margin-right:12px}.terms-check span{display:flex;align-items:center;gap:9px}.terms-check .icon{width:30px;height:30px;color:#ffca20}.terms-accept{border:1px solid #ffc41c;background:linear-gradient(180deg,#ffd12a,#eda900);color:#07090a;border-radius:14px;min-height:76px;width:min(580px,100%);font-size:clamp(20px,4vw,31px);font-weight:900;text-align:left;padding:12px 24px;display:flex;align-items:center;justify-content:center;gap:15px;box-shadow:0 8px 0 #8a6200,0 16px 32px #0007;cursor:pointer}.terms-accept .icon{width:42px;height:42px;stroke-width:2}.terms-accept:disabled{filter:grayscale(.8);opacity:.45;cursor:not-allowed;box-shadow:none}.terms-version{color:#8f9497;font-size:12px;margin-top:24px}.report-slogan{margin:28px 0 16px;padding:14px 18px;border-top:3px solid #e6ad00;border-bottom:3px solid #e6ad00;background:#171b1e;color:#f4b900;text-transform:uppercase;text-align:center;font-size:19px;font-weight:900;letter-spacing:.03em}.report-slogan:before{content:"⚠ ";color:#f4b900}
@media(max-width:980px){.values-grid{grid-template-columns:1fr}.values-grid article{display:grid;grid-template-columns:auto 1fr;column-gap:15px}.values-grid article h2{justify-self:start}.values-grid article ul{grid-column:1/-1}.lang-top{padding:2px}.lang-top button{min-width:31px;min-height:28px;font-size:11px}.topbar .lang-top{order:3}.topbar .status-online{order:4}}
@media(max-width:760px){.hazard-stripe{height:26px;background-size:auto}.welcome-hero{width:min(100% - 22px,620px);padding:46px 0 28px}.lang-entry,.lang-login{top:12px;right:12px}.login-back{top:12px;left:12px}.welcome-logo{width:82%;margin-top:14px}.welcome-kicker{font-size:12px}.welcome-head h1{font-size:18px}.safety-banner{margin:25px 0 18px;padding:17px 13px;gap:10px}.safety-banner .icon{width:34px;height:34px}.safety-banner strong{font-size:20px}.safety-banner small{font-size:13px}.values-grid{gap:10px}.values-grid article{padding:15px}.values-grid h2{font-size:18px;margin:6px 0 8px}.values-grid ul{font-size:13px}.value-icon{width:43px;height:43px}.welcome-responsible{margin:18px 0 12px;padding:14px 7px}.welcome-responsible strong{font-size:15px}.welcome-responsible span{font-size:12px}.welcome-responsible small{font-size:10px}.welcome-access{min-height:54px;margin-top:16px}.terms-shell{width:calc(100% - 22px);padding:18px 0 28px}.terms-head{grid-template-columns:auto 1fr auto;padding:8px;margin-bottom:20px}.terms-head img{width:150px}.terms-head .term-back{font-size:0;padding:8px}.terms-head .term-back::after{content:"←";font-size:21px}.terms-icon{width:66px;height:66px}.terms-icon .icon{width:58px;height:58px}.terms-shell h1{font-size:25px}.terms-subtitle{font-size:15px}.terms-legal{padding:18px 17px;border-radius:14px;max-height:46svh;overflow:auto}.terms-legal h2{font-size:16px}.terms-legal ul{font-size:13px;padding-left:18px}.terms-legal li{margin:9px 0}.terms-check{font-size:20px;margin:18px 0 12px}.terms-accept{min-height:68px;font-size:21px;padding:10px 15px}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:86px 20px 35px}.lang-top{display:none}.report-slogan{font-size:14px}}
@media print{.lang-switch,.welcome-page,.terms-page{display:none!important}.report-slogan{background:#fff;color:#111;border-color:#111;break-inside:avoid}}

/* Phase 2 — operational map */
.map-panel{overflow:hidden}.operation-map{height:480px;min-height:360px;width:100%;background:#0d141a;position:relative}.map-loading{height:100%;display:grid;place-items:center;color:#9ba7b3}.mc-map-marker{width:22px;height:22px;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 9px rgba(0,0,0,.45);cursor:pointer;background:#ffc21c}.mc-map-marker.type-operation,.map-dot.type-operation{background:#ffc21c}.mc-map-marker.type-equipment,.map-dot.type-equipment{background:#3f8cff}.mc-map-marker.type-technical_item,.map-dot.type-technical_item{background:#e6e8eb}.mc-map-marker.type-explosive,.map-dot.type-explosive{background:#e44}.mc-map-marker.type-other,.map-dot.type-other{background:#8f9aa6}.map-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 2px rgba(255,255,255,.12)}.map-point-row{gap:12px}.maplibregl-popup-content{background:#121a21!important;color:#eef3f6!important;border:1px solid #35424d!important;border-radius:10px!important}.maplibregl-popup-tip{border-top-color:#121a21!important}.maplibregl-ctrl-attrib{font-size:10px!important}
@media(max-width:720px){.operation-map{height:58vh;min-height:340px}.map-panel{border-radius:18px}.mc-map-marker{width:20px;height:20px}}

/* MinaCalc 2.10.0 — Etapa 4: cadastro estruturado do Plano de Fogo */
.plan-modal{width:min(980px,100%)}
.plan-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.plan-form-head h2{margin:5px 0 4px}.plan-form-head p{margin:0;color:var(--muted)}
.plan-section{border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#111a22,#0c1319);padding:16px;margin:14px 0}
.plan-section>header{display:flex;gap:12px;align-items:flex-start;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.plan-section>header>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#f5b90018;border:1px solid #8b6b0b;color:var(--yellow);font-weight:900}
.plan-section>header h3{margin:0 0 3px;font-size:16px}.plan-section>header p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.field-help{display:block;color:#89959f;font-size:11px;margin-top:5px;line-height:1.35}.calculated-input input{border-color:#806a20;background:#18170f}.calculated-input label:after{content:" · cálculo";color:#d6ad2d;font-size:10px}
.catalog-feedback{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;min-height:25px}.catalog-feedback small{color:#9eabb5}.technical-reference-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.technical-reference{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);background:#0d151b;border-radius:10px;padding:10px 12px}.technical-reference strong,.technical-reference small{display:block}.technical-reference small{color:var(--muted);margin-top:2px}
.plan-participants{max-height:250px}.plan-calculation-section{border-color:#6f5c20;background:linear-gradient(145deg,#18170f,#0f1418)}.calculation-preview-extended{grid-template-columns:repeat(4,minmax(0,1fr));padding:0;border:0;background:transparent}.calc-result{position:relative}.calc-result em{display:block;margin-top:4px;color:#8b98a2;font-size:9px;font-style:normal}.calculation-legend{display:flex;gap:16px;justify-content:flex-end;color:#9ea8b1;font-size:11px;margin-top:8px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.dot.calc{background:var(--yellow)}.dot.entered{background:var(--blue)}
.sticky-actions{position:sticky;bottom:-1px;z-index:4;background:linear-gradient(180deg,#0b111700,#0b1117 22%);padding-top:26px;padding-bottom:4px}
@media(max-width:760px){.plan-form-head{display:block}.plan-form-head>.status{display:inline-block;margin-top:9px}.plan-section{padding:13px;margin:10px 0}.plan-section>header{gap:9px}.technical-reference-list,.calculation-preview-extended{grid-template-columns:1fr}.sticky-actions{display:grid;grid-template-columns:1fr 1fr}.sticky-actions .btn{width:100%}.plan-participants{max-height:45vh}}
.plan-view-section{margin:15px 0}.plan-view-section h3{margin:0 0 9px;color:#f0f3f5;font-size:14px}.span-review{grid-column:1/-1}
@media(max-width:760px){.span-review{grid-column:auto}}

/* MinaCalc 2.11 - motor de cálculos e referências técnicas */
.formula-expression{white-space:normal;word-break:break-word;font-size:.82rem}
.formula-flow{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.formula-flow span{padding:.65rem .8rem;border:1px solid var(--border,#d9dee7);border-radius:10px;background:var(--panel,#fff);font-size:.9rem}.formula-flow b{opacity:.5}
.formula-test-result{margin-top:1rem;padding:.85rem 1rem;border-radius:10px;border:1px solid var(--border,#d9dee7);background:#f8fafc}.formula-test-result.success{border-color:#8dd4aa;background:#effbf4}.formula-test-result.error{border-color:#e6a4a4;background:#fff4f4}
.reference-details{display:grid;gap:.75rem;padding:1rem}.reference-detail{border:1px solid var(--border,#d9dee7);border-radius:12px;overflow:hidden}.reference-detail summary{cursor:pointer;display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1rem;list-style:none}.reference-detail summary span:first-child{display:grid;min-width:0}.reference-detail summary small{color:var(--muted,#667085);margin-top:.2rem}.reference-detail-body{padding:0 1rem 1rem}.reference-json{max-height:360px;overflow:auto;white-space:pre-wrap}.formula-conflicts{display:grid;gap:.65rem}.reference-card{display:grid;gap:.35rem;padding:.75rem;border:1px solid var(--border,#d9dee7);border-radius:10px}.technical-mini{font-size:.82rem}.admin-master-row[hidden]{display:none!important}
@media(max-width:720px){.formula-flow b{display:none}.formula-flow span{width:100%}.formula-table .table-actions{min-width:180px}.reference-detail summary{align-items:flex-start;flex-direction:column}.technical-mini{min-width:720px}}

/* 2.12.0 — operação de campo / APFF */
.operation-members{max-height:280px;overflow:auto;padding:6px;border:1px solid var(--border);border-radius:12px}
.comparison-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.comparison-strip span{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2,#f7f8fa)}
.comparison-strip small{color:var(--muted)}
.analysis-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.analysis-section{margin:18px 0 2px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.analysis-item{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(190px,.7fr);gap:10px 14px;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2,#fff)}
.analysis-item.blocking{border-left:4px solid #c98a00}
.analysis-item>div:first-child small{display:block;margin-top:5px;color:#9a6500}
.analysis-item>.w-prelim-note{grid-column:1/-1}
.analysis-status{display:flex;align-items:flex-start;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.analysis-status label{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--border);border-radius:10px;cursor:pointer}
.analysis-status input{accent-color:var(--accent,#e3a800)}
.material-usage{display:flex;flex-direction:column;gap:10px}
.material-usage>h3{margin:15px 0 0}
.usage-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px);gap:14px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px}
.usage-row small{display:block;color:var(--muted);margin-top:3px}
.usage-row .field{margin:0}
@media(max-width:720px){.comparison-strip{grid-template-columns:1fr}.analysis-item,.usage-row{grid-template-columns:1fr}.analysis-status{justify-content:flex-start}.analysis-item>.w-prelim-note{grid-column:1}.operation-members{max-height:none}}

/* MinaCalc 2.14.0 — relatório final consolidado */
.report-final section{break-inside:auto}.report-final section>h2{break-after:avoid}.report-version{display:block;margin-top:8px;text-align:right;color:#68727c;font-size:11px}.report-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-people>div{border:1px solid #d8dce0;border-radius:6px;padding:10px 12px}.report-people small{display:block;color:#68727c;margin-top:3px}.report-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 16px}.report-summary-strip>div{background:#f2f4f6;border-left:4px solid #dca900;padding:12px}.report-summary-strip small{display:block;color:#68727c}.report-summary-strip strong{display:block;font-size:18px;margin-top:4px}.report-table-wrap{width:100%;overflow-x:auto;margin:10px 0 14px}.report-table{width:100%;border-collapse:collapse;font-size:12px}.report-table th,.report-table td{padding:8px 9px;border:1px solid #d8dce0;text-align:left;vertical-align:top}.report-table th{background:#eef1f3;color:#39434c;font-weight:800}.report-table small{color:#68727c}.report-table code{white-space:normal;overflow-wrap:anywhere;font-size:11px}.report-empty,.report-note{color:#68727c;font-size:12px}.report-review-section{break-inside:auto}.report-review-section h3{font-size:13px;margin:14px 0 6px;color:#39434c;break-after:avoid}.report-apff-summary{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.report-location{break-inside:avoid}.report-photos{margin-top:12px}.report-photos img{border:1px solid #d8dce0;border-radius:4px}.report-signature{break-inside:avoid}
@media(max-width:760px){.report-people,.report-summary-strip{grid-template-columns:1fr}.report-table{min-width:620px}.report-table-wrap{overflow-x:auto}.report-version{text-align:left}}
@media print{.report-paper.report-final{font-size:10.5pt}.report-paper.report-final h1{font-size:20pt}.report-paper.report-final h2{font-size:12.5pt;margin-top:18px}.report-table-wrap{overflow:visible}.report-table{font-size:8.5pt;min-width:0}.report-table th,.report-table td{padding:5px 6px}.report-summary-strip{grid-template-columns:repeat(4,1fr)}.report-people{grid-template-columns:repeat(2,1fr)}.report-photos img{max-height:230px}.report-review-section,.report-table tr,.report-people>div,.report-summary-strip>div{break-inside:avoid}.report-final a{color:#111;text-decoration:none}}

/* MinaCalc 2.14.2 — mapa / provedor */
.map-provider-warning{position:absolute;left:14px;right:14px;bottom:14px;z-index:5;background:rgba(13,20,26,.94);border:1px solid #5b4a16;border-left:4px solid #ffc21c;border-radius:10px;padding:10px 12px;color:#f2d36a;font-size:13px;pointer-events:none}

/* 2.15 etapa 1 — usabilidade de campos, selects, checkboxes e APFF */
.field select,.searchbox select,select.searchbox{min-height:48px;cursor:pointer;color-scheme:dark}
.field select{background-color:#141a20}
.check-item{cursor:pointer;min-height:52px;padding:12px 10px;border:1px solid #303a43;border-radius:10px;background:#111920;margin-bottom:7px}
.check-item:hover,.check-item:focus-within{border-color:#6d5a1b;background:#171a16}
.check-item input[type=checkbox],.check-item input[type=radio],input[type=checkbox],input[type=radio]{width:22px;height:22px;min-width:22px;accent-color:var(--yellow);cursor:pointer}
.analysis-list{display:grid;gap:10px}.analysis-section{margin:18px 0 2px;color:#ffd84a;font-size:15px}.analysis-item{border:1px solid #35414a;background:#111a22;border-radius:12px;padding:14px}.analysis-item.blocking{border-color:#8a5c24;background:#21190f}.analysis-item>div:first-child strong{color:#f4f6f8;line-height:1.45}.analysis-status{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.analysis-status label{cursor:pointer}.analysis-status label input{position:absolute;opacity:0;pointer-events:none}.analysis-status label span{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:44px;border:1px solid #55616c;border-radius:9px;background:#0d141a;color:#d9dfe4;font-weight:800}.analysis-status label input:checked+span{border-color:#f5b900;background:#3a300d;color:#ffe274;box-shadow:0 0 0 2px #f5b90022}.w-prelim-note{width:100%;min-height:48px;border:1px solid #3a444d;background:#141a20;color:var(--text);border-radius:10px;padding:12px 14px;outline:none}.w-prelim-note:focus{border-color:var(--yellow);box-shadow:0 0 0 3px #f5b9001a}
@media(max-width:760px){.field select,.searchbox{min-height:52px}.check-item{min-height:58px;padding:13px 11px}.analysis-status label{flex:1}.analysis-status label span{width:100%;min-height:48px}}

/* 2.16.0 — Cobrança PIX / MeuAssistente.pro */
.billing-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center}
.billing-amount{display:flex;flex-direction:column;align-items:flex-end}.billing-amount strong{font-size:1.65rem;color:#f2c94c}.billing-amount small{color:var(--muted,#8ea0ad)}
.billing-payment{margin-top:16px}.billing-qr-wrap{display:flex;justify-content:center;padding:18px}.billing-qr{width:min(280px,80vw);max-height:280px;object-fit:contain;background:#fff;border-radius:14px;padding:10px}
.billing-client-row{gap:10px;flex-wrap:wrap}.billing-client-row .grow{min-width:230px}.billing-payment textarea{min-height:88px;word-break:break-all}
@media(max-width:760px){.billing-summary{grid-template-columns:1fr}.billing-amount{align-items:flex-start}.billing-client-row .btn{flex:1 1 140px}}
