:root{--brand:#1d4e89;--brand-strong:#163d6c;--brand-dark:#14283f;--brand-light:#2e86c9;--brand-soft:#e7eef7;--bg:#f0f4f9;--surface:#fff;--text:#2b3038;--muted:#5d6470;--border:#d9e2ec;--row-hover:#f3f7fb;--required:#c0392b;--error-bg:#fdecec;--error-text:#8a1f1f;--info-bg:#e8f2fb;--info-text:#1d4e89;--success-bg:#e6f4ec;--success-text:#1b5e36;--warn-bg:#fff3dc;--warn-text:#7a4b00;--shadow:0 1px 2px #14283f0f, 0 6px 18px #14283f12;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:15px;line-height:1.5}body.no-scroll{overflow:hidden}a{color:var(--brand)}h1{color:var(--brand-dark);margin:0 0 4px;font-size:1.5rem;font-weight:600}h2{margin:0;font-size:1.15rem;font-weight:600}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.pre-line{white-space:pre-line}.page-loading{text-align:center;color:var(--muted);padding:40px}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--brand);color:#fff;border-bottom:3px solid var(--brand-light);flex-wrap:wrap;align-items:center;gap:24px;padding:10px 24px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-chip{background:#fff;border-radius:6px;padding:4px 8px;display:flex}.brand-logo{width:auto;height:34px;display:block}.brand-name{color:#fff;font-size:1.05rem;font-weight:600}.topnav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.topnav a{color:#ffffffd9;border-radius:6px;padding:6px 12px;font-weight:500;text-decoration:none}.topnav a:hover{color:#fff;background:#ffffff1f}.topnav a.active{color:var(--brand);background:#fff;font-weight:600}.topbar-user{align-items:center;gap:12px;min-width:0;display:flex}.topbar-email{color:#ffffffd9;text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.topbar .btn-quiet{color:#fff;border-color:#ffffff80}.topbar .btn-quiet:hover{background:#ffffff1f}.content{width:100%;max-width:1100px;margin:0 auto;padding:24px}.narrow{max-width:720px;margin-left:auto;margin-right:auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-head .muted{margin:0}.chevron{flex-shrink:0}.btn-back{border:1px solid var(--border);background:var(--surface);color:var(--brand);border-radius:999px;align-items:center;gap:4px;margin:0 0 14px;padding:5px 12px 5px 8px;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex;box-shadow:0 1px 2px #14283f0f}.btn-back:hover,.btn-back:focus-visible{background:var(--brand);border-color:var(--brand);color:#fff;outline:none}.empty{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);text-align:center;padding:24px}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--row-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-strong)}.btn-quiet{background:0 0;border-color:#0000}.btn-block{width:100%}.link-button{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.form{flex-direction:column;gap:16px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.date-ranges{flex-direction:column;gap:10px;display:flex}.date-range{grid-template-columns:1fr auto 1fr 36px;align-items:center;gap:10px;display:grid}.date-range-sep{color:var(--muted)}.icon-btn{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--muted);font:inherit;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:inline-flex}.icon-btn:hover{background:var(--error-bg);color:var(--error-text);border-color:var(--error-bg)}.add-range{border:1px dashed var(--brand-light);background:var(--brand-soft);color:var(--brand);font:inherit;cursor:pointer;border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:6px 14px 6px 6px;font-weight:600;display:inline-flex}.add-range:hover:not(:disabled){background:#dbe7f5;border-style:solid}.add-range:disabled{opacity:.5;cursor:not-allowed}.add-range-plus{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:1.15rem;line-height:1;display:inline-flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:16px;padding:20px}.field-label{flex-direction:column;gap:6px;font-weight:500;display:flex}.optional{color:var(--muted);font-weight:400}.req{color:var(--required);margin-left:2px;font-weight:700}.required-note{color:var(--muted);margin:0;font-size:.85rem}.section-title{color:var(--brand-dark);margin:4px 0 12px;font-size:1.15rem}.fixed-site{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-direction:column;padding:9px 12px;font-weight:400;display:flex}.form-disclaimer{color:var(--required);margin:0;font-size:.88rem;font-weight:500}.fieldset{border:0;margin:0;padding:0}.fieldset legend{margin-bottom:6px;padding:0}.input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:6px;padding:9px 12px;font-weight:400}.input:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}.input-code{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.6rem}.input-search{max-width:320px}.textarea{resize:vertical;min-height:120px}.hint{color:var(--muted);font-size:.85rem;font-weight:400}.hint-error{color:var(--error-text)}.check{align-items:center;gap:8px;font-weight:400;display:flex}.radio-row{flex-wrap:wrap;gap:8px;display:flex}.radio{border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-weight:400;display:flex}.radio-on{border-color:var(--brand);background:var(--brand-soft)}.actions{flex-wrap:wrap;gap:12px;display:flex}.alert{border-radius:6px;margin:0 0 12px;padding:10px 14px}.form .alert{margin:0}.alert-error{background:var(--error-bg);color:var(--error-text)}.alert-info{background:var(--info-bg);color:var(--info-text)}.alert-success{background:var(--success-bg);color:var(--success-text)}.pill{background:var(--brand-soft);color:var(--brand);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.82rem;font-weight:600;display:inline-block}.pill-muted{background:var(--row-hover);color:var(--muted)}.pill-warn{background:var(--warn-bg);color:var(--warn-text)}.auth-page{background:linear-gradient(160deg, var(--brand) 0%, var(--brand-dark) 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-card{background:var(--surface);border-top:5px solid var(--brand-light);border-radius:12px;width:100%;max-width:420px;padding:32px 32px 28px;box-shadow:0 20px 50px #00000040}.auth-brand{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.auth-logo{width:260px;max-width:100%;height:auto;display:block}.auth-brand-name{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;font-size:.95rem;font-weight:600}.auth-title{text-align:center;color:var(--brand-dark);margin:22px 0 12px}.auth-lead{color:var(--muted);margin:0 0 4px}.auth-foot{color:var(--muted);margin:20px 0 0;font-size:.92rem}.site-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:0;padding:0;list-style:none;overflow:hidden}.site-list li+li{border-top:1px solid var(--border)}.site-row{color:var(--text);border-left:4px solid #0000;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;text-decoration:none;display:flex}.site-row:hover,.site-row:focus-visible{background:var(--row-hover);border-left-color:var(--brand-light);outline:none}.site-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.site-name{color:var(--brand);font-weight:600}.site-address{color:var(--muted);font-size:.92rem}.site-row-meta{flex-shrink:0;align-items:center;gap:12px;display:flex}.site-code{color:var(--muted);white-space:nowrap;font-size:.85rem}.site-row-go{border:1px solid var(--brand);background:var(--surface);color:var(--brand);white-space:nowrap;border-radius:999px;align-items:center;gap:2px;padding:6px 10px 6px 14px;font-size:.88rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.site-row-go .chevron{transition:transform .15s}.site-row:hover .site-row-go,.site-row:focus-visible .site-row-go{background:var(--brand);color:#fff}.site-row:hover .site-row-go .chevron,.site-row:focus-visible .site-row-go .chevron{transform:translate(2px)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex}.tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-weight:500}.tab-active{color:var(--brand);border-bottom-color:var(--brand)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.93rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}.table th{color:#fff;text-transform:uppercase;letter-spacing:.04em;background:var(--brand);font-size:.8rem;font-weight:600}.table tbody tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .center{text-align:center}.table-click tbody tr{cursor:pointer}.table-click tbody tr:hover,.table-click tbody tr:focus{background:var(--row-hover);outline:none}.fields{gap:0;margin:0;display:grid}.field{border-bottom:1px solid var(--border);grid-template-columns:minmax(140px,30%) 1fr;gap:12px;padding:8px 0;display:grid}.field:last-child{border-bottom:0}.field dt{color:var(--muted);font-size:.9rem}.field dd{overflow-wrap:anywhere;min-width:0;margin:0}.modal-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:12px;outline:none;width:100%;max-width:760px;box-shadow:0 12px 40px #00000040}.modal-head{background:var(--brand);color:#fff;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.modal-head .btn-quiet{color:#fff}.modal-head .btn-quiet:hover{background:#ffffff1f}.modal-body{padding:16px 20px 20px}.detail-section+.detail-section{margin-top:22px}.detail-section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--brand);margin:0 0 10px;font-size:.85rem;font-weight:600}.tech-comment{background:var(--bg);border-left:4px solid var(--brand);border-radius:0 6px 6px 0;margin:0;padding:12px 14px}.po-panel{margin-bottom:22px}.po-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.po-head .section-title{margin:0}.po-empty{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);margin:0;padding:14px 16px}.po-alert{background:var(--warn-bg);color:var(--warn-text);border-left:4px solid #d98e04}.po-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.po-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.po-card--warn{border-color:#e7b04a}.po-card-top{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.po-number{color:var(--brand);font-weight:700}.po-title{flex-direction:column;min-width:0;display:flex}.po-name{color:var(--brand);overflow-wrap:anywhere;font-weight:700}.po-number-sub{color:var(--muted);font-size:.82rem}.po-amount{font-variant-numeric:tabular-nums;font-weight:600}.po-bar{background:var(--brand-soft);border-radius:999px;height:10px;position:relative;overflow:visible}.po-bar-fill{background:var(--brand-light);border-radius:999px;position:absolute;inset:0 auto 0 0}.po-card--warn .po-bar-fill{background:#d98e04}.po-bar-pending{background:var(--brand-light);opacity:.35;border-radius:0 999px 999px 0;position:absolute;top:0;bottom:0}.po-card--warn .po-bar-pending{background:#d98e04}.po-card-pending{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:.82rem}.po-legend{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;font-size:.82rem;display:flex}.po-legend-item{align-items:center;gap:6px;display:inline-flex}.po-legend-swatch{background:var(--brand-light);border-radius:999px;flex-shrink:0;width:18px;height:8px}.po-legend-swatch--pending{opacity:.35}.po-legend-mark{background:var(--brand-dark);border-radius:1px;flex-shrink:0;width:2px;height:12px}.po-bar-mark{background:var(--brand-dark);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.po-card-bottom{font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;margin-top:8px;font-size:.88rem;display:flex}.po-card-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.po-card-meta{font-size:.8rem}.po-card-actions{gap:12px;font-size:.85rem;display:inline-flex}.link-danger{color:var(--error-text)}.po-locked{color:var(--muted);cursor:help;border-bottom:1px dotted var(--muted)}.po-dialog-intro{margin:0}.input-prefix{position:relative}.input-prefix>span{color:var(--muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-prefix>.input{padding-left:26px}.success-panel{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}@media (width<=640px){.topbar{gap:10px;padding:10px 16px}.topnav{flex-basis:100%;order:3}.topbar-user{margin-left:auto}.topbar-email{max-width:140px}.content{padding:16px}.form-row{grid-template-columns:1fr}.auth-card{padding:24px 20px}.date-range{grid-template-columns:1fr 36px}.site-row{flex-direction:column;align-items:flex-start;gap:6px}.site-row-go,.date-range-sep{display:none}.field{grid-template-columns:1fr;gap:2px}.modal-backdrop{padding:0}.modal{border-radius:0;min-height:100%}}
