:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#213b35;background:#f5f7f3;font-synthesis:none;--green:#137b52;--muted:#6d7b75;--line:#e2e9e2}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--green)}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}aside{background:#fff;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column}.brand{text-decoration:none;font-size:31px;font-weight:900;letter-spacing:-1.8px;color:#20b56a;padding:0 12px}.brand span{color:#e2ad25}.brand small{display:block;letter-spacing:2px;font-size:10px;color:#67776e;margin-top:4px}.nav-caption{font-size:10px;font-weight:700;letter-spacing:1.3px;color:#87928b;margin:30px 12px 12px}nav button{display:block;text-align:left;border:0;background:none;padding:12px;width:100%;border-radius:10px;color:#566b60;font-size:13px;margin:2px 0}nav button:hover,nav button.active{background:#e7f3e9;color:#117847;font-weight:650}.side-bottom{margin-top:auto;padding:28px 12px 0;font-size:12px;color:var(--muted);line-height:1.7}.side-bottom a{font-weight:600;text-decoration:none}.pill{display:inline-block;background:#eaf4eb;color:#127748;border-radius:20px;padding:6px 10px;font-size:11px;font-weight:650}main{padding:32px 40px;min-width:0}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#7b8a80;margin:0 0 9px}h1{font-size:30px;letter-spacing:-.9px;margin:0}h2{letter-spacing:-.5px}.account{display:flex;align-items:center;gap:16px;font-size:13px}.account button,.toolbar button,.pagination button,.plain-button,.dialog-head button{background:white;border:1px solid var(--line);border-radius:8px;padding:10px 13px;color:#345547}.notice{display:flex;align-items:center;gap:10px;background:#edf4e9;border:1px solid #d8e6d2;border-radius:12px;padding:15px 18px;font-size:12px;margin-bottom:26px;line-height:1.5}.notice span:last-child{color:#6b7d66}.dot{width:7px;height:7px;background:#22a364;border-radius:50%;flex-shrink:0}.lead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.lead h2{font-size:24px;margin:0 0 8px}.lead p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:22px}.card .card-label{font-size:12px;color:var(--muted)}.card .number{display:block;font-size:36px;letter-spacing:-1.4px;font-weight:700;margin:14px 0}.card a{font-size:12px;text-decoration:none}.card.primary{background:#164e39;color:white;border-color:#164e39}.card.primary .card-label,.card.primary a{color:#c3dfcf}.grid-two{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin-top:22px}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:20px}.panel h2{font-size:17px;margin:0 0 6px}.subtle{font-size:12px;color:var(--muted);line-height:1.6}.chart{width:100%;height:180px;margin-top:20px;overflow:visible}.chart text{font:10px Segoe UI,Arial;fill:#7b8a80}.quick{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.quick:last-child{border-bottom:0}.quick a{text-decoration:none}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.toolbar input{padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:white;width:290px;max-width:100%}.toolbar span{color:var(--muted);font-size:12px}.table-scroll{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;font-size:13px}th{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:#78877c;background:#f9fbf7;text-align:left}th,td{padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}td{line-height:1.6}.record-title{font-weight:650;max-width:420px}.actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.actions button,.actions a{font-size:11px;text-decoration:none;padding:7px 10px;background:#eff5ee;border:1px solid #dce8db;color:#297649;border-radius:7px}.badge{display:inline-block;padding:4px 8px;border-radius:6px;background:#eff3eb;color:#527650;font-size:11px}.pagination{display:flex;gap:14px;align-items:center;justify-content:flex-end;margin-top:16px;font-size:12px}.pagination button:disabled{opacity:.35;cursor:default}.empty{text-align:center;padding:60px 15px;color:var(--muted);line-height:1.7}.error{background:#fff4ed;border:1px solid #f0dfce;padding:30px;border-radius:12px;line-height:1.7}.error a{display:inline-block;margin-top:12px}footer{display:flex;justify-content:space-between;font-size:10px;color:#8c988e;padding-top:25px;gap:20px}dialog{width:min(1000px,94vw);max-height:90vh;border:1px solid var(--line);border-radius:16px;padding:25px;box-shadow:0 25px 90px #1b39273a;color:#243e34}dialog::backdrop{background:#163a2c80}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;position:sticky;top:-25px;background:white;padding:10px 0 20px;z-index:1}.dialog-head h2{font-size:23px;margin:0}.dialog-head button{font-size:22px;padding:4px 13px}.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0 25px}.meta div{background:#f4f7f2;padding:13px;border-radius:8px;font-size:13px;overflow-wrap:anywhere}.meta small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.document-table{table-layout:fixed;border:1px solid var(--line)}.document-table th{background:#f9f9e4;font-size:12px;text-transform:none;color:#2b4838}.document-table td{width:50%;white-space:pre-wrap;overflow-wrap:anywhere;border-right:1px solid var(--line)}.document-table td:last-child{border-right:0}.evidence{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.evidence figure{margin:0;border:1px solid var(--line);border-radius:10px;padding:10px}.evidence img{width:100%;height:260px;object-fit:contain}.evidence figcaption{font-size:11px;color:var(--muted);margin-top:8px}.location,.comment{white-space:pre-wrap;background:#f7f9f4;padding:16px;border-radius:9px;line-height:1.7;font-size:13px;overflow-wrap:anywhere}.json-block{border:1px solid var(--line);padding:15px;border-radius:9px;margin:12px 0}.json-block summary{cursor:pointer;font-size:13px;font-weight:650}.json-block table{margin-top:14px}.json-block td:first-child{width:35%;color:#708075}.json-block pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 Segoe UI,Arial}.months{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.months a{background:#edf4e9;padding:9px 12px;border-radius:8px;text-decoration:none;font-size:12px}[hidden]{display:none!important}@media(min-width:1600px){main{padding:40px 65px}.cards{gap:22px}}@media(max-width:1000px){.shell{grid-template-columns:220px 1fr}main{padding:25px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two{grid-template-columns:1fr}.account{flex-direction:column;align-items:flex-end;gap:8px}.notice{flex-wrap:wrap}}@media(max-width:650px){.shell{display:block}aside{padding:18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:27px;display:inline-block}.brand small{display:inline-block;margin-left:12px}.nav-caption,.side-bottom{display:none}nav{display:flex;overflow-x:auto;margin-top:15px;gap:4px}nav button{width:auto;flex-shrink:0;font-size:12px;padding:9px}main{padding:22px 16px}header{gap:10px;align-items:flex-start}h1{font-size:24px}.account{font-size:11px}.account button{font-size:11px}.notice{font-size:11px;padding:12px}.cards{gap:10px}.card{padding:17px}.card .number{font-size:30px}.lead h2{font-size:21px}.toolbar{flex-wrap:wrap}.toolbar input{width:100%}.meta{grid-template-columns:repeat(2,1fr)}.evidence{grid-template-columns:1fr}th,td{padding:12px}.document-table td{font-size:12px}dialog{padding:16px}.dialog-head{top:-16px}.dialog-head h2{font-size:19px}footer{flex-wrap:wrap}}

aside{position:sticky;top:0;height:100vh;overflow-y:auto}.filters{flex-wrap:wrap;justify-content:flex-start}.filters select,.filters input{padding:9px;border:1px solid var(--line);border-radius:8px;background:white}.filters input[type=date]{width:145px}.filters label{font-size:12px;color:var(--muted)}.sort-button{border:0;background:transparent;padding:0;font-size:11px;color:inherit;text-transform:uppercase}.plain-button{display:inline-block;padding:9px 12px;border:1px solid #dbe7da;border-radius:8px;background:#f2f6ef;text-decoration:none;font-size:12px}.usage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.usage{padding:14px;background:#f4f7f1;border-radius:10px}.usage progress{width:100%;accent-color:#277d50}.signatures img{height:170px}.sort-button:hover{text-decoration:underline}#detail-content>select{padding:10px;border:1px solid var(--line);border-radius:8px;max-width:100%;margin-bottom:16px}.table-scroll+.panel{margin-top:20px}@media(max-width:650px){aside{position:static;height:auto;overflow:visible}.usage-grid{grid-template-columns:1fr}.filters select{max-width:100%}.cards+.panel{margin-top:15px}}

.company-logo{max-width:180px;max-height:120px;object-fit:contain}
.company-identity{display:flex;align-items:center;gap:12px;min-width:180px}.company-thumbnail{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;border:1px solid var(--line);border-radius:10px;background:#f6f9f5;overflow:hidden}.company-thumbnail img{display:block;width:100%;height:100%;object-fit:contain;padding:4px;background:white}.company-placeholder{font-size:25px;font-weight:400;color:#94a598}.company-name{min-width:0;overflow-wrap:anywhere}.company-name>span{display:block}.company-logo-status{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:400}
.uv-verify{margin:20px 0;padding:16px;border:1px solid #e7d69e;background:#fffbef;border-radius:10px}.uv-verify h3{margin:0;font-size:15px}.uv-verify-actions{display:flex;flex-wrap:wrap;gap:8px}.uv-verify-actions button{cursor:pointer}
.uv-modes{display:flex;gap:8px;margin-top:22px}.uv-modes button{flex:1;border:1px solid #bdd1c3;border-radius:9px;padding:12px;background:#fff;color:#285840}.uv-modes button[aria-pressed=true]{background:#137b52;color:white;border-color:#137b52;font-weight:650}.uv-mode-label{font-size:10px!important;font-weight:700;letter-spacing:1px;color:#137b52}
.stored-map{display:block;max-width:100%;max-height:380px;object-fit:contain;border:1px solid #d7e3d8;border-radius:10px}

.uv-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,1.25fr);gap:22px}.uv-grid label{display:block;font-size:12px;color:var(--muted);margin:24px 0 8px}.uv-grid select{display:block;width:100%;padding:13px;border:1px solid #becfc1;border-radius:9px;background:#fff;color:#213b35}.uv-location{width:100%;border:0;background:var(--green);color:#fff;border-radius:9px;padding:13px;margin:14px 0 4px}.uv-location:disabled{opacity:.55}.uv-number{font-size:76px;font-weight:750;letter-spacing:-3px;line-height:1.2;margin-top:24px;color:#164e39}.uv-reading{border-top:4px solid #20b56a}.uv-reading>p{font-size:13px;line-height:1.6}.uv-reading h2{margin-top:24px}.uv-warning{display:inline-block;padding:7px 10px;font-size:11px;font-weight:700;border-radius:7px;background:#fff1d0;color:#77551b}.uv-history{padding:12px;background:#fff7e6;border-radius:9px;color:#77551b}.uv-source{background:#eff5eb}.uv-grid button:focus-visible,.uv-grid select:focus-visible{outline:3px solid #dda922;outline-offset:3px}@media(max-width:850px){.uv-grid{grid-template-columns:1fr}.uv-number{font-size:64px}}
.place-dialog{width:min(580px,calc(100% - 32px));max-height:90vh;padding:24px}.place-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.place-head h2{margin:0}.place-head button{font-size:24px}.place-label{display:block;font-size:13px;font-weight:650;margin:18px 0 6px}.place-label input,.place-label select{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;background:white;margin-top:7px;box-sizing:border-box;font:inherit}.place-logo-row{display:flex;gap:16px;align-items:center;margin-top:18px}.place-logo-preview{display:flex;align-items:center;justify-content:center;flex:0 0 76px;height:76px;border:1px solid var(--line);background:white;border-radius:12px;font-size:30px;color:var(--muted);overflow:hidden}.place-logo-preview img{width:100%;height:100%;object-fit:contain;padding:5px;box-sizing:border-box}.place-logo-row>div:last-child{min-width:0}.place-logo-row input{max-width:100%;font-size:12px}.place-message{color:#a4382a;font-size:13px}.place-primary{background:#183e32!important;color:white!important;border-color:#183e32!important}.place-dialog button[type=submit]{width:100%;padding:13px;margin-top:10px}.place-dialog .subtle{font-size:12px;line-height:1.5}.place-dialog input:focus-visible,.place-dialog select:focus-visible{outline:2px solid #137b52;outline-offset:2px}@media(max-width:500px){.place-dialog{padding:18px}.place-logo-row{gap:12px}.place-logo-preview{flex-basis:60px;height:60px}}
/* Administration uses the same spacing and typography as the rest of Panel 2. */
.admin-form2{margin-top:24px}.admin-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-field2{min-width:0;display:flex;flex-direction:column;gap:8px}.admin-field2 label{font-size:13px;font-weight:650;color:#28453c}.admin-field2 input:not([type=checkbox]),.admin-field2 textarea,.admin-field2 select,.template-field2 input,.template-field2 textarea,.template-add2 select{box-sizing:border-box;max-width:100%;width:100%;border:1px solid #b9cfc3;border-radius:9px;background:#fff;color:#203c33;padding:12px;font:inherit;line-height:1.5;min-height:46px}.admin-field2 textarea{min-height:110px;resize:vertical}.admin-field2 input[type=checkbox]{width:20px;height:20px;accent-color:#147451}.admin-field2:has(input[type=checkbox]){display:grid;grid-template-columns:24px 1fr;align-items:start}.admin-field2:has(input[type=checkbox]) input{grid-column:1;grid-row:1}.admin-field2:has(input[type=checkbox]) label{grid-column:2;grid-row:1;line-height:1.5}.admin-field-error2{color:#b32929;font-size:13px;line-height:1.5;display:block}.admin-field-error2[hidden]{display:none}.admin-field2.invalid input,.admin-field2.invalid select,.admin-field2.invalid textarea,[aria-invalid=true]{border:2px solid #bc3a3a!important;outline-color:#bc3a3a}.admin-feedback2{color:#b32929;line-height:1.6}.admin-actions2{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;border-top:1px solid #dae5dc;padding-top:20px;margin-top:24px}.admin-actions2 button{min-height:44px;padding:11px 20px}.admin-access2,.admin-success2,.admin-warning2{padding:16px;background:#eaf3eb;color:#244b3b;border-radius:10px;line-height:1.6;grid-column:1/-1}.admin-warning2{background:#fff4d8;color:#71551c}.template-designer2{margin-top:26px}.template-designer-head2{padding-bottom:16px;border-bottom:1px solid #dbe5de}.template-field2{padding:20px;background:#fafcf9;border:1px solid #dce6de;border-radius:12px;margin:16px 0}.template-field-head2{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.template-order2{display:flex;gap:6px;flex-wrap:wrap}.template-field2 label{display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.5}.template-field2 textarea{min-height:76px;resize:vertical}.template-required2{display:flex!important;flex-direction:row!important;align-items:center;margin:16px 0}.template-required2 input{width:18px;height:18px;min-height:18px;accent-color:#147451}.template-options2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.template-options2 label button{align-self:flex-start}.template-add2{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.template-add2 select{width:auto;min-width:220px}.template-designer2.invalid{border:1px solid #bc3a3a;border-radius:12px;padding:12px}.admin-form2 button.primary-button{background:#174c3c;color:white;border:1px solid #174c3c}.admin-form2 button:disabled{opacity:.55;cursor:default}@media(max-width:650px){.admin-grid2,.template-options2{grid-template-columns:1fr}.template-field2{padding:14px}.admin-actions2 button{flex:1}.template-add2 select{width:100%;min-width:0}.template-add2 button{width:100%}}
.admin-wide2,.admin-field2:has(input[type=checkbox]){grid-column:1/-1}
.template-preview2{margin:20px 0;padding:16px;border:1px solid #dce6de;border-radius:10px;background:#fff}.template-preview2 summary{font-weight:650;color:#24543f;cursor:pointer}.template-preview-field2{padding:16px 0;border-bottom:1px solid #e1e8e2}.template-preview-field2 strong{display:block;line-height:1.5;margin-bottom:10px}.template-preview-field2 input,.template-preview-field2 textarea{width:100%;box-sizing:border-box;min-height:42px;border:1px solid #cbd9d0;border-radius:8px;background:#f5f8f4}.template-preview-options2{display:flex;gap:10px;flex-wrap:wrap}.template-preview-options2 span{border:1px solid #cbd9d0;border-radius:8px;padding:8px 14px}

.logo-editor-dialog{width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;border:1px solid #b8cfc3;border-radius:18px;padding:22px;box-sizing:border-box}.logo-editor-dialog::backdrop{background:rgba(20,57,44,.5)}.logo-editor-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}
