:root{--navy:#123a57;--blue:#166b9a;--orange:#e99426;--ink:#193449;--muted:#597080;--line:#d9e3e9;--green:#237454}*{box-sizing:border-box}body{margin:0;background:#f3f6f8;color:var(--ink);font:18px/1.5 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:10px 18px;background:white;color:var(--ink);font-weight:600}button:hover{border-color:var(--blue);background:#edf5fa}button:disabled{cursor:not-allowed;opacity:.5}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover{background:var(--navy);color:white}.danger{color:#aa3434}.small{font-size:15px}header{height:84px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 30px;gap:20px}header img{width:170px;height:65px;object-fit:contain}header .identity{border-left:1px solid var(--line);padding-left:20px}header strong{display:block;font-size:20px}header small{color:var(--muted)}.head-brand{display:flex;align-items:center;gap:22px}.connection{font-size:14px;color:var(--green);display:flex;align-items:center;gap:8px}.dot{width:9px;height:9px;border-radius:50%;background:currentColor}.offline{color:#b45b10}.layout{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 84px)}aside{background:var(--navy);color:white;padding:26px 18px}aside p{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#a2c2d8;margin:12px 16px}aside button{background:transparent;border:0;color:#dbeaf3;width:100%;text-align:left;margin:3px 0;border-radius:8px;font-size:17px;padding:12px 18px}aside button.active,aside button:hover{background:#245b7e;color:white}.nav-foot{margin-top:34px;padding:18px 12px;border-top:1px solid #3d647d;font-size:14px;color:#b8d0df}main{padding:28px 36px;max-width:1600px;width:100%;margin:0 auto}.demo{background:#fff3dd;color:#77510d;border:1px solid #f1d7a4;border-radius:8px;padding:10px 16px;font-size:14px;margin-bottom:24px}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.eyebrow{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--blue);font-weight:700}h1{font-size:32px;line-height:1.2;margin:7px 0}h2{font-size:22px;margin:0 0 14px}h3{font-size:20px;margin:0 0 10px}p{margin:6px 0 14px}.muted{color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.filters{background:white;border:1px solid var(--line);padding:16px;border-radius:10px;display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}.filters label{font-size:14px;color:var(--muted)}.filters select,.filters input{display:block;min-width:150px;margin-top:5px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stat{background:white;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:9px;padding:18px 22px}.stat:nth-child(2){border-top-color:var(--orange)}.stat:nth-child(3){border-top-color:var(--green)}.stat span{font-size:15px;color:var(--muted)}.stat strong{display:block;font-size:38px;line-height:1.3;margin-top:8px}.stat small{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.panel{border:1px solid var(--line);background:white;border-radius:10px;padding:24px;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.chip{display:inline-block;border-radius:5px;background:#eaf2f7;color:#225f85;padding:4px 9px;font-size:13px;font-weight:600}.chip.green{background:#e4f2eb;color:#237454}.chip.orange{background:#fff0da;color:#9b5912}.chip.red{background:#fdeaea;color:#a63c3c}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:16px}th{text-align:left;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;background:#f5f8fa}th,td{padding:14px 12px;border-bottom:1px solid var(--line)}.taskcard{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.taskcard:last-child{border:0}.taskcard p{font-size:16px;color:var(--muted);margin:5px 0}.taskcard button{align-self:center}.bar-row{display:grid;grid-template-columns:145px 1fr 40px;gap:12px;align-items:center;margin:16px 0;font-size:15px}.bar-track{height:14px;background:#edf2f5;border-radius:4px}.bar-fill{height:100%;background:var(--blue);border-radius:4px}.chart{display:flex;align-items:flex-end;gap:10px;height:190px;padding:15px 0;border-bottom:1px solid var(--line)}.chart-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;font-size:12px}.chart-col i{display:block;width:65%;background:var(--blue);min-height:2px;border-radius:4px 4px 0 0}.chart-col b{font-size:13px}.empty{padding:25px;text-align:center;color:var(--muted);background:#f7f9fb;border-radius:8px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.formgrid label{display:block;font-size:16px;color:var(--ink)}input,select,textarea{width:100%;border:1px solid #bbcbd6;border-radius:7px;padding:10px 12px;min-height:48px;background:white;color:var(--ink)}textarea{min-height:110px;resize:vertical}input[type=checkbox]{width:22px;height:22px;min-height:22px}input[type=file]{font-size:15px}label span.help{display:block;font-size:13px;color:var(--muted)}.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.notearea{display:flex;gap:10px;align-items:flex-start}.notearea textarea{flex:1}.photo{max-width:100%;max-height:220px;object-fit:contain;border-radius:8px;margin-top:10px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.checkrow{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0}.checkrow select{width:160px;font-size:16px}.report-meta{font-size:14px;color:var(--muted)}.report-logo{display:none}.sync-item{padding:16px;border:1px solid var(--line);border-radius:8px;margin:10px 0}.hint{font-size:15px;background:#edf5fa;padding:12px 16px;border-radius:8px;color:#375d78}.kv{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:16px}.kv dt{color:var(--muted)}.kv dd{margin:0}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;max-width:760px;width:calc(100% - 24px);max-height:92vh;color:var(--ink);box-shadow:0 20px 80px #102d4355}dialog::backdrop{background:#0d263c88}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#183b50;color:white;border-radius:9px;padding:14px 22px;z-index:99;display:none;max-width:90%;font-size:16px}footer{font-size:13px;color:var(--muted);margin-top:20px}.warn{color:#9d4c11}.linkbtn{border:0;background:none;color:var(--blue);padding:0;min-height:auto;text-decoration:underline}.report-block{break-inside:avoid}.critical{border-left:4px solid #bd4444}.legend{font-size:13px;color:var(--muted)}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.layout{grid-template-columns:210px 1fr}main{padding:25px}.head-brand .identity{display:none}}
@media(max-width:740px){header{height:auto;padding:12px 16px;flex-wrap:wrap}header img{width:145px;height:45px}.layout{display:block}aside{padding:10px;display:flex;overflow:auto;gap:4px;position:sticky;top:0;z-index:10}aside p,.nav-foot{display:none}aside button{width:auto;white-space:nowrap;font-size:15px;margin:0;padding:10px 14px}main{padding:20px 16px}.pagehead{flex-direction:column}h1{font-size:28px}.formgrid,.pair{grid-template-columns:1fr}.wide{grid-column:auto}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:30px}.panel{padding:18px}.taskcard{flex-direction:column}.taskcard button{align-self:stretch}.filters>*{flex:1}.toolbar{width:100%}.toolbar button{flex:1}dialog{padding:20px}.bar-row{grid-template-columns:110px 1fr 30px}.head-status{display:flex;align-items:center;gap:10px}.head-status select{width:145px;font-size:15px}.chart{gap:4px}.checkrow{font-size:16px}.checkrow select{width:140px}.demo{font-size:13px}}
@media print{@page{size:A4 landscape;margin:12mm}body{background:white;font-size:12pt}header,aside,.demo,.filters,.no-print,.toolbar,footer,#toast,dialog{display:none!important}.layout{display:block}main{padding:0;max-width:none}.report-logo{display:block;width:160px;margin-bottom:15px}.stats{grid-template-columns:repeat(4,1fr)}.grid{grid-template-columns:1fr 1fr}.panel{padding:14px}.stat strong{font-size:26px}.panel,.stat{box-shadow:none;break-inside:avoid}h1{font-size:24px}.pagehead{display:block}.chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}.chart-col i,.bar-fill{print-color-adjust:exact;-webkit-print-color-adjust:exact}button{display:none}}

.employee-badge{display:flex;gap:12px;align-items:center;margin:10px 0}.avatar{width:56px;height:56px;object-fit:cover;border-radius:50%;border:1px solid var(--line);flex-shrink:0}.avatar-empty{display:flex;align-items:center;justify-content:center;background:#eaf2f7;color:var(--blue);font-size:24px}.employee-badge b{font-size:16px}

.login{max-width:520px;margin:40px auto;background:white;border:1px solid var(--line);border-radius:16px;padding:32px}.login img{width:220px}.login label{display:block;margin:16px 0}.login button{width:100%}.account-label{font-size:15px}.head-status{flex-wrap:wrap}.hint{white-space:pre-wrap}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ec941c;outline-offset:3px}
@media(max-width:740px){aside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;position:static}aside button{white-space:normal;font-size:15px;padding:10px 6px;min-height:48px}body{font-size:18px}.head-status{width:100%;justify-content:space-between}.account-label{max-width:65%;overflow-wrap:anywhere}.tablewrap{max-width:100%;overflow:auto}td{min-width:85px}.login{margin:16px 12px;padding:24px}.toolbar{flex-wrap:wrap}.toolbar button{min-width:120px}.pagehead p{overflow-wrap:anywhere}}

.overview{--accent:#147db0}.overview .pagehead h1{font-size:34px}.overview-hero{background:linear-gradient(115deg,#123a57,#175a79 65%,#197f87);color:white;border-radius:22px;padding:30px 36px;display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:22px;box-shadow:0 12px 30px #123a5715}.overview-kicker{font-size:12px;letter-spacing:2px;color:#b6dce8}.overview-hero h2{font-size:38px;line-height:1.16;margin:14px 0}.overview-hero p{color:#d2e8ee;font-size:16px}.overview-live{font-size:14px;background:#ffffff16;border:1px solid #ffffff25;padding:8px 12px;border-radius:20px;display:inline-block}.overview-hero-summary{text-align:right;max-width:330px}.overview-hero-summary strong{display:block;font-size:76px;line-height:1.1;color:#fbc66f}.overview-hero-summary span{font-size:18px}.overview .filters{align-items:center;border-radius:14px}.overview .filters p{margin:0}.overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.overview-metric{padding:20px;border-radius:16px;border:1px solid #dfe8ee;background:white;position:relative;overflow:hidden}.overview-metric:before{content:'';height:5px;position:absolute;top:0;left:0;right:0;background:#1e82ba}.overview-metric.amber:before{background:#e8a33d}.overview-metric.teal:before{background:#289a87}.overview-metric.violet:before{background:#8271ba}.overview-metric span{font-size:16px;color:#536c7e}.overview-metric strong{display:block;font-size:36px;margin:8px 0;color:#183d56}.overview-metric small{font-size:13px;color:#6d8291}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.overview-grid .panel{margin:0;border-radius:17px;padding:22px;box-shadow:0 5px 18px #173c5505;min-width:0}.overview-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.overview-panel-head h2{font-size:20px;margin:0}.overview-panel-head button{font-size:13px;white-space:nowrap;min-height:32px;text-decoration:none}.overview-wide{grid-column:span 2}.overview-progress{grid-column:span 2}.overview-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f4;padding:10px 0;font-size:15px}.overview-row b{text-align:right}.progress-content{display:flex;align-items:center;gap:35px}.completion-ring{width:165px;height:165px;border-radius:50%;background:conic-gradient(#259d91 var(--completion),#e9f0f4 0);padding:16px;flex-shrink:0}.completion-ring>div{height:100%;border-radius:50%;background:white;display:flex;flex-direction:column;justify-content:center;align-items:center}.completion-ring strong{font-size:36px}.completion-ring span{font-size:14px;color:#66808f}.progress-list{flex:1}.safety-banner{background:#fff5e5;border-radius:10px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;color:#885a15;font-size:14px;margin-bottom:8px}.safety-banner strong{font-size:28px}.overview-vehicle{padding:14px 0;border-bottom:1px solid #edf1f4}.overview-vehicle>div{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.overview-vehicle p{font-size:14px;color:#69808e;margin:8px 0}.overview-vehicle strong{font-size:25px;color:#238878}.overview-vehicle small{font-size:13px;font-weight:400;color:#66808f}.attendance-strip{display:flex;justify-content:space-between;gap:8px;background:#f4f7fb;border-radius:10px;padding:16px 8px;margin-bottom:12px}.attendance-strip div{text-align:center}.attendance-strip b{display:block;font-size:24px;color:#65539c}.attendance-strip span{font-size:13px}.meal-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.meal-tiles div{background:#fff8ec;padding:14px 10px;border-radius:11px;text-align:center}.meal-tiles span,.meal-tiles small{display:block;font-size:13px;color:#946e32}.meal-tiles strong{display:block;font-size:30px;color:#b8781b}.facility-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.facility-list div{background:#eef6f9;border-radius:12px;padding:14px 10px;text-align:center}.facility-list span{display:block;font-size:15px;font-weight:600}.facility-list strong{display:block;font-size:28px;color:#167b9a}.facility-list small{font-size:12px;color:#607c8d}.overview .legend{margin:15px 0 0}.overview .bar-row{grid-template-columns:100px 1fr 25px}.overview .taskcard h3{font-size:19px}
@media(max-width:1200px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-progress{grid-column:span 2}.overview-wide{grid-column:span 2}.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.overview-hero{padding:24px;display:block}.overview-hero h2{font-size:32px}.overview-hero-summary{text-align:left;margin-top:22px}.overview-hero-summary strong{font-size:52px}.overview-grid{grid-template-columns:1fr}.overview-progress,.overview-wide{grid-column:auto}.progress-content{gap:15px;flex-wrap:wrap}.completion-ring{width:135px;height:135px}.facility-list{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-metric{padding:16px}.overview-metric strong{font-size:29px}.overview .pagehead h1{font-size:28px}}

body:has(.overview){background:#061b20;color:#d7eeeb}body:has(.overview) header{background:#08272b;border-color:#21504f}body:has(.overview) header .identity{border-color:#21504f}body:has(.overview) header img{background:#fff;border-radius:8px;padding:5px}body:has(.overview) aside{background:#061f24;border-right:1px solid #21504f}body:has(.overview) aside button.active,body:has(.overview) aside button:hover{background:#10413f;color:#6ee2cc}body:has(.overview) .demo{background:#263020;border-color:#4d5130;color:#e0cf93}body:has(.overview) .connection{color:#66d7bd}body:has(.overview) .account-label{color:#b2d5ce}body:has(.overview) header button{background:#123c3b;border-color:#296660;color:#d7eeeb}.overview .eyebrow{color:#58cdb7}.overview .muted,.overview .legend{color:#a0c3bd}.overview .overview-hero{background:linear-gradient(115deg,#093a3b,#104b46 65%,#08645c);border:1px solid #267367;box-shadow:0 0 24px #1db39512;padding:22px 28px}.overview-hero h2{font-size:30px}.overview-hero-summary strong{font-size:60px}.overview .filters,.overview .panel,.overview-metric{background:linear-gradient(135deg,#103331,#092b2d);border-color:#27605b;box-shadow:inset 0 0 15px #24aa9210,0 4px 18px #0002}.overview .filters label,.overview-metric span,.overview-metric small{color:#a3c9c1}.overview-metric strong{color:#63d7c1}.overview .panel h2{color:#61d4c0}.overview .linkbtn{color:#8edcd0}.overview .overview-row,.overview .taskcard,.overview .overview-vehicle{border-color:#24514c}.overview .overview-row{color:#c6e2dc}.overview .completion-ring{background:conic-gradient(#4bd6bc var(--completion),#1b4845 0)}.overview .completion-ring>div{background:#0d302f}.overview .completion-ring span,.overview .overview-vehicle p,.overview .overview-vehicle small{color:#a1c6bc}.overview .safety-banner{background:#403822;color:#ffd186}.overview .attendance-strip{background:#123d3a}.overview .attendance-strip b{color:#7edccc}.overview .meal-tiles div{background:#153e36}.overview .meal-tiles span,.overview .meal-tiles small{color:#bdd0a2}.overview .meal-tiles strong{color:#d6d983}.overview .facility-list div{background:#143f3c}.overview .facility-list strong{color:#67d9c4}.overview .facility-list small{color:#a2c5bc}.overview .bar-track{background:#214641}.overview .bar-fill{background:#3cc5ae}.overview .employee-badge .muted,.overview .taskcard p{color:#a2c6bd}.overview button{background:#164740;border-color:#337769;color:#ddf5ed}.overview button.primary{background:#188472;border-color:#26a28c}.overview .chip{background:#21524b;color:#bbded3}.team-center{position:relative;border:1px solid #378c7a;border-radius:17px;overflow:hidden;margin-bottom:22px;height:420px;background:#0b3030;box-shadow:0 0 25px #26b99718}.team-center>img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.team-center:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#031e25eb,transparent 55%);pointer-events:none}.team-caption{position:absolute;bottom:24px;left:28px;z-index:1;color:white}.team-caption>span{font-size:12px;letter-spacing:2px;color:#a6eddb}.team-caption h2{font-size:27px;margin:8px 0;color:white!important}.team-caption p{font-size:13px;margin:0;color:#c8dfdc}.team-sites{position:absolute;top:18px;right:18px;display:flex;gap:8px;z-index:1}.team-sites span{background:#063730dd;border:1px solid #5dc0a8;border-radius:7px;color:#c4f6e8;padding:6px 12px;font-size:14px}.overview .empty{background:#143d39;color:#b8d5cc}body:has(.overview) footer{color:#8cb9af}@media(max-width:740px){.team-center{height:290px}.team-caption{left:18px;bottom:20px;right:18px}.team-caption h2{font-size:23px}.overview-hero h2{font-size:29px}} 

body:has(.overview){background:linear-gradient(#031b20b8,#031b20e3),url('/camp-background-ai.png') center center / cover fixed no-repeat}.overview .overview-hero{background:linear-gradient(90deg,#032a32eb,#063e3c99),url('/camp-background-ai.png') center 58% / cover no-repeat;min-height:260px}.overview .panel,.overview .filters,.overview-metric{background:linear-gradient(135deg,#103331ed,#092b2de8);backdrop-filter:blur(8px)}@media(max-width:740px){body:has(.overview){background-attachment:scroll}.overview .overview-hero{background-position:center}}

.visual-report{background:#08282c;border:1px solid #2d7369;border-radius:18px;padding:22px;margin-bottom:28px;color:#d9eee8}.visual-title{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #2b534e;padding-bottom:18px;margin-bottom:18px}.visual-title span{font-size:12px;letter-spacing:1.5px;color:#68d9c1}.visual-title h2{font-size:28px;margin:7px 0}.visual-title p{font-size:14px;color:#a8cbc2;margin:0}.visual-achievement{text-align:right;min-width:180px}.visual-achievement strong{display:block;font-size:42px;color:#f2c262}.visual-achievement span{letter-spacing:0;display:block}.visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.visual-panel{background:linear-gradient(140deg,#123d39,#0a2e32);border:1px solid #2a6159;border-radius:12px;padding:18px;min-width:0}.visual-panel h3{color:#6cddc4;font-size:18px;margin-bottom:18px}.visual-trend{grid-column:span 2}.visual-trend svg{width:100%;display:block}.visual-bar{margin:14px 0}.visual-bar>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:14px}.visual-bar b{white-space:nowrap}.visual-bar small{font-weight:400;font-size:12px;color:#a4c5bb}.visual-track{height:11px;background:#234944;border-radius:6px;margin-top:7px;overflow:hidden}.visual-track i{display:block;height:100%;border-radius:6px}.visual-panel .legend,.visual-note{color:#a4c6bd;font-size:13px}.visual-note{margin:18px 0 0}@media(max-width:1100px){.visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:740px){.visual-grid{grid-template-columns:1fr}.visual-trend{grid-column:auto}.visual-title{display:block}.visual-achievement{text-align:left;margin-top:12px}.visual-report{padding:16px}}@media print{.visual-report,.visual-panel{print-color-adjust:exact;-webkit-print-color-adjust:exact}.visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-trend{grid-column:span 2}.visual-report{border-radius:0}.visual-panel{break-inside:avoid}.visual-title{break-after:avoid}}

/* Refined visual report theme */
body:has(.visual-report){background:#edf3f5}body:has(.visual-report) main{max-width:1700px}.visual-report{background:radial-gradient(ellipse at 90% 0%,#154b4d 0%,transparent 48%),linear-gradient(145deg,#071c28,#0b3036);border:1px solid #306069;border-radius:24px;padding:30px;box-shadow:0 18px 48px #102c3b20}.visual-title{padding-bottom:26px;margin-bottom:24px;align-items:center;border-color:#ffffff18}.visual-title>div:first-child>span{font-size:11px;letter-spacing:3px;color:#86c8c4}.visual-title h2{font-size:32px;font-weight:600;letter-spacing:-.6px;color:#effaf7}.visual-title p{color:#a7c6ce;font-size:14px}.visual-achievement{border:1px solid #dabd7344;border-radius:16px;background:linear-gradient(135deg,#d9b85c12,#e8cd8005);padding:14px 24px}.visual-achievement strong{font-size:44px;font-weight:600;color:#ead49b;letter-spacing:-1px}.visual-achievement span{font-size:12px;color:#d5dec9}.visual-grid{gap:18px}.visual-panel{background:linear-gradient(145deg,#ffffff08,#ffffff03);border:1px solid #ffffff1c;border-radius:16px;padding:22px;box-shadow:0 8px 18px #0000000a;transition:border-color .18s,box-shadow .18s}.visual-panel:hover{border-color:#6dd2c75c;box-shadow:0 8px 25px #0002}.visual-panel h3{font-size:17px;font-weight:600;color:#d4eeeb;letter-spacing:.1px;border-bottom:1px solid #ffffff12;padding-bottom:14px;margin-bottom:20px}.visual-bars{padding:0 2px}.visual-bar{margin:18px 0}.visual-bar>div:first-child{font-size:14px;color:#b8d1d4;align-items:baseline}.visual-bar b{font-size:19px;font-weight:600;color:#f1f7f4}.visual-bar small{font-size:11px;margin-left:3px;color:#90b4b8}.visual-track{height:8px;background:#ffffff0c;border-radius:8px;margin-top:9px}.visual-track i{box-shadow:0 0 12px #3fc9b326;border-radius:8px}.visual-trend svg{margin-top:10px}.visual-panel .legend{font-size:12px;line-height:1.6;color:#96b6be;margin:16px 0 0}.visual-note{border-top:1px solid #ffffff17;margin-top:26px;padding-top:18px;color:#a1bdc4;font-size:12px;line-height:1.7}body:has(.visual-report) .pagehead h1{letter-spacing:-.5px}body:has(.visual-report) .filters{border-radius:15px;box-shadow:0 3px 12px #173e4c05}body:has(.visual-report) .filters select,body:has(.visual-report) .filters input{border-color:#d1dde2;background:#f9fbfc}body:has(.visual-report) .toolbar button{border-radius:10px}body:has(.visual-report) .toolbar #print{background:#166b70;color:white;border-color:#166b70}@media(max-width:740px){.visual-report{padding:18px;border-radius:18px}.visual-title h2{font-size:26px}.visual-achievement{display:inline-block;padding:10px 18px}.visual-panel{padding:18px}.visual-bar b{font-size:18px}}@media print{.visual-report{box-shadow:none}.visual-panel{box-shadow:none;transition:none}.visual-grid{gap:12px}.visual-report{padding:18px}}

.future-services{background:linear-gradient(130deg,#0a2731,#123e3b);color:#d8eeea;border:1px solid #39736a;border-radius:20px;padding:26px;margin-bottom:24px}.future-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.future-heading>div>span{font-size:11px;letter-spacing:2px;color:#9cc9bd}.future-heading h2{font-size:25px;margin:8px 0;color:#f0f7f2}.future-heading p{font-size:14px;color:#b6cfc9;margin:0}.future-label{font-size:12px;color:#ead5a0;border:1px solid #c6a55a66;border-radius:20px;padding:7px 12px;white-space:nowrap;background:#d9b65e10}.future-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.future-card{border:1px solid #ffffff22;background:#ffffff04;border-radius:14px;padding:20px;min-width:0}.future-card:first-child{border-color:#d2b97788;background:linear-gradient(130deg,#e0c48413,#ffffff03)}.future-tag{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#8bd4c5}.future-card h3{font-size:25px;color:#f0f7f1;margin:7px 0 12px}.future-card p{font-size:14px;color:#bed6d0}.future-counts{display:flex;gap:28px;padding:12px 0;border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15;margin-bottom:16px}.future-counts b{font-size:29px;display:block;color:#ead49b}.future-counts span{font-size:12px;color:#aac8c0}.future-current{font-size:12px;color:#8be1c5;display:block}.future-roadmap{margin-top:12px!important;line-height:1.7}.future-card .legend,.future-footnote{font-size:12px;color:#a0c2b9}.future-footnote{border-top:1px solid #ffffff17;padding-top:16px;margin:20px 0 0;line-height:1.7}.future-card button{font-size:14px;margin-top:12px;background:#194c43;color:#d6f0e5;border-color:#397969}.future-card button:hover{background:#236453}@media(max-width:1100px){.future-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:740px){.future-grid{grid-template-columns:1fr}.future-heading{display:block}.future-label{display:inline-block;margin-top:14px}.future-services{padding:18px}.future-heading h2{font-size:23px}}@media print{.future-services,.future-card{print-color-adjust:exact;-webkit-print-color-adjust:exact}.future-services{break-inside:auto}.future-card{break-inside:avoid}.future-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

body:has(.presentation-view){background:#071e27;color:#e0f1ed}body:has(.presentation-view) header,body:has(.presentation-view) aside,body:has(.presentation-view) .demo,body:has(.presentation-view) footer{display:none}body:has(.presentation-view) .layout{display:block;min-height:100vh}body:has(.presentation-view) main{max-width:1920px;padding:22px 30px}.presentation-cover{display:flex;justify-content:space-between;gap:30px;padding:34px;border:1px solid #42756c;border-radius:20px;background:linear-gradient(90deg,#04222aef,#06352b88),url('/camp-background-ai.png') center 60%/cover;margin-bottom:18px}.presentation-cover span{font-size:12px;letter-spacing:2px;color:#b2ded1}.presentation-cover h1{font-size:38px;letter-spacing:-1px;color:#f0f7f0;line-height:1.15;margin:12px 0}.presentation-cover p{font-size:16px;color:#c0ded4}.presentation-brand{text-align:right;align-self:center}.presentation-brand img{width:215px;background:white;border-radius:10px;padding:12px}.presentation-brand p{font-size:14px}.presentation-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.presentation-badges span{background:#174e42aa;border:1px solid #5e9b8266;border-radius:20px;padding:6px 12px;font-size:12px;letter-spacing:0}.presentation-view .filters{background:#10373c;border-color:#315c59;align-items:end}.presentation-view .filters label{color:#bbd8d0}.presentation-view .filters button{background:#20534b;color:#d8eee6;border-color:#46736a}.presentation-view .visual-report{margin-bottom:20px}.presentation-view .visual-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.presentation-view .visual-panel{padding:18px}.presentation-view .visual-trend{grid-column:span 2}.presentation-photo{height:280px;position:relative;overflow:hidden;border-radius:18px;border:1px solid #387665;margin-bottom:20px}.presentation-photo>img{height:100%;width:100%;object-fit:cover;object-position:center 43%}.presentation-photo>div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:24px;background:linear-gradient(0deg,#05252aed,transparent 90%)}.presentation-photo span{font-size:12px;color:#9fdccb;letter-spacing:2px}.presentation-photo h2{font-size:28px;margin:8px 0;color:white}.presentation-photo p{font-size:12px;margin:0;color:#bbdbd2}.presentation-value{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.presentation-value>div{border-top:2px solid #bda666;background:#103139;padding:22px;border-radius:8px}.presentation-value h3{font-size:19px;color:#e5d6ad}.presentation-value p{font-size:14px;color:#bad2cd}.presentation-disclosure{font-size:12px;color:#91b2ad;margin:18px 0}.presentation-view .future-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.presentation-view .future-counts{gap:14px}@media(max-width:1100px){.presentation-view .visual-grid,.presentation-view .future-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:740px){body:has(.presentation-view) main{padding:16px}.presentation-cover{display:block;padding:22px}.presentation-cover h1{font-size:29px}.presentation-brand{text-align:left;margin-top:18px}.presentation-view .visual-grid,.presentation-value,.presentation-view .future-grid{grid-template-columns:1fr}.presentation-view .visual-trend{grid-column:auto}}@media print{body:has(.presentation-view){background:white}.presentation-cover,.presentation-photo,.presentation-value{print-color-adjust:exact;-webkit-print-color-adjust:exact}.presentation-view .visual-grid,.presentation-view .future-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.presentation-cover{break-inside:avoid}.presentation-value{grid-template-columns:1fr}.presentation-disclosure{color:#345}}

.customer-logos{display:flex;align-items:center;gap:20px;border:1px solid #427269;border-radius:16px;padding:18px 24px;background:linear-gradient(110deg,#123938,#0b2932);margin-bottom:20px;color:#d6ede6}.customer-logos>div:first-child{flex:1}.customer-logos>div>span{font-size:12px;letter-spacing:2px;color:#e4d4a4;font-weight:600}.customer-logos p{font-size:15px;color:#a9c9c2;margin:5px 0}.customer-logo-card{height:92px;width:190px;background:white;border-radius:10px;padding:10px 16px;display:flex;align-items:center;justify-content:center}.customer-logo-card img{max-width:100%;max-height:100%;object-fit:contain}.customer-logo-card:has(img[src="customer-sis.png"]){width:130px}@media(max-width:740px){.customer-logos{gap:12px;padding:16px;flex-wrap:wrap}.customer-logos>div:first-child{flex-basis:100%}.customer-logo-card{height:78px;width:165px}.customer-logo-card:has(img[src="customer-sis.png"]){width:100px}}@media print{.customer-logos{break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.presentation-value .future-value h3,.presentation-value .future-value p{color:#b7bcc3}

body:has(.camp-dashboard){background:#f2f5f8;color:#193546}body:has(.camp-dashboard) aside{background:linear-gradient(150deg,#20333b,#17282f)}body:has(.camp-dashboard) aside button.active{background:#2c705d}body:has(.camp-dashboard) main{max-width:1800px;padding:24px}.camp-title{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(90deg,#ffffffed,#ffffffbb),url('/camp-background-ai.png') center/cover;padding:22px;border-radius:14px;margin-bottom:18px}.camp-title h1{font-size:31px;margin:6px 0}.camp-title span{font-size:11px;letter-spacing:2px;color:#3b7f71}.camp-title p{font-size:15px;color:#607787;margin:0}.camp-title>div:last-child{text-align:right;font-size:14px}.camp-filter{display:flex;align-items:center;gap:18px;margin-bottom:18px;flex-wrap:wrap}.camp-filter label{font-size:13px}.camp-filter select{width:180px;margin-left:10px}.camp-filter>span{font-size:13px;color:#687c88;flex:1}.camp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.camp-kpi{padding:20px;border-radius:12px;color:white;background:#1884ed;box-shadow:0 5px 15px #1a6aca15}.camp-kpi span{font-size:16px;font-weight:600}.camp-kpi strong{font-size:38px;display:block;line-height:1.3;margin:8px 0}.camp-kpi small{font-size:12px}.camp-kpi.kpi-1{background:linear-gradient(120deg,#298e51,#36ac64)}.camp-kpi.kpi-2{background:linear-gradient(120deg,#f8ba03,#f5ca1b);color:#3c330d}.camp-kpi.kpi-3{background:linear-gradient(120deg,#7645c5,#865bda)}.camp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.camp-panel{background:white;border:1px solid #e1e7ed;border-radius:13px;padding:18px;min-width:0;box-shadow:0 3px 12px #143b5504}.camp-panel-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:18px;align-items:start}.camp-panel h2{font-size:18px;line-height:1.3;margin:0}.camp-panel .linkbtn{font-size:13px;white-space:normal}.camp-span{grid-column:span 2}.camp-status{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.camp-donut{width:145px;height:145px;border-radius:50%;padding:25px;flex-shrink:0}.camp-donut>div{background:white;border-radius:50%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.camp-donut strong{font-size:29px}.camp-donut span{font-size:12px}.camp-status>div:last-child{flex:1;min-width:130px}.camp-status p{display:flex;align-items:center;gap:8px;font-size:12px;margin:10px 0}.camp-status p i{width:10px;height:10px;border-radius:50%;flex-shrink:0}.camp-status p span{flex:1}.camp-bar{display:grid;grid-template-columns:110px 1fr 25px;align-items:center;gap:10px;font-size:13px;margin:16px 0}.camp-bar>i{height:14px;border-radius:5px;background:#eff3f6;overflow:hidden}.camp-bar i b{height:100%;display:block;border-radius:5px}.camp-panel svg{width:100%;display:block}.camp-panel table{font-size:13px}.camp-panel td,.camp-panel th{padding:10px 8px}.camp-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.camp-actions button{color:white;background:#1b86ee;border:0;min-height:75px;font-size:14px}.camp-actions button:nth-child(2){background:#32a66b}.camp-actions button:nth-child(3){background:#8055cb}.camp-actions button:nth-child(4){background:#eb9026}.camp-placeholder{padding:20px 8px;color:#70828c;text-align:center}.camp-placeholder h3{font-size:16px}.camp-placeholder p{font-size:13px}.camp-placeholder>span{font-size:32px;color:#acbdc8}.camp-lv{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #edf1f4;font-size:14px}.camp-panel>p{font-size:14px}.camp-panel .legend{font-size:12px}@media(max-width:1150px){.camp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-span{grid-column:span 2}}@media(max-width:740px){.camp-grid{grid-template-columns:1fr}.camp-span{grid-column:auto}.camp-title{display:block}.camp-title h1{font-size:26px}.camp-title>div:last-child{text-align:left;margin-top:15px}.camp-kpi{padding:16px}.camp-kpi span{font-size:14px}.camp-kpi strong{font-size:30px}.camp-filter select{margin-left:0}.camp-filter>span{flex-basis:100%}body:has(.camp-dashboard) main{padding:18px 14px}}
