:root{--navy:#102540;--navy2:#17385d;--blue:#3577e5;--blue2:#2563d7;--text:#19304d;--muted:#7a8ba3;--line:#e5eaf3;--bg:#f4f7fc;--white:#fff;--radius:17px;--shadow:0 10px 35px rgba(30,52,90,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);font-size:14px}button,input,select{font:inherit}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:15;top:0;bottom:0;left:0;width:242px;background:linear-gradient(170deg,#102540,#142b48 60%,#102540);color:#d6e3f5;display:flex;flex-direction:column;padding:24px 16px;box-shadow:7px 0 24px rgba(14,30,51,.055)}.wordmark{padding:0 20px 37px;color:#b7d9fc!important;text-decoration:none!important;display:block;line-height:1}.upun{font-size:36px;font-weight:800;letter-spacing:-2.9px;line-height:1;font-family:Manrope,sans-serif}.upun-dot{color:#3d8dff}.wordmark small,.brand-xl small{display:block;letter-spacing:4px;font-size:9px;font-weight:800;margin-top:8px;color:#8ba7c5}.nav-label{padding:10px 20px 14px;font-size:9px;font-weight:800;letter-spacing:2px;color:#7391b2}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-link{display:flex;align-items:center;gap:14px;border-radius:10px;padding:13px 13px;color:#afc6df;font-weight:700;font-size:12px;text-decoration:none!important;transition:all .16s}.nav-link:hover{background:#244366;color:#fff}.nav-link.active{background:#2755a1;color:#fff;box-shadow:inset 3px 0 #579afa}.nav-glyph{width:19px;display:inline-block;font-size:20px;font-weight:400;text-align:center;color:#84b1ea}.nav-count{margin-left:auto;background:#e84a53;color:#fff;border-radius:40px;min-width:21px;text-align:center;font-size:10px;padding:3px 5px}.side-footer{margin-top:auto;padding:14px 10px 4px;border-top:1px solid #29415d;color:#94b3d3;font-size:10px;display:flex;gap:6px;align-items:center}.status-led{background:#38c68b;width:6px;height:6px;border-radius:50%}.version{margin-left:auto;color:#6182a5}.mainwrap{margin-left:242px;width:calc(100% - 242px);display:flex;flex-direction:column;min-width:0}.topbar{height:79px;background:#fff;border-bottom:1px solid #e7edf5;display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:22px}.crumb{font-size:12px;color:#91a0b5;white-space:nowrap}.crumb b{color:#213650}.crumb-slash{padding:0 10px;color:#b5c1d1}.top-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.top-actions form{margin:0}.company-switch select{border:1px solid #dde5f1;border-radius:10px;background:#f7f9fd;max-width:176px;min-width:120px;padding:9px 10px;color:#274361;font-size:12px;font-weight:700}.user-badge{background:#e8f2ff;color:#3268ba;width:33px;height:33px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;overflow:hidden}.mobilemenu{display:none;background:none;border:0;font-size:24px;color:var(--navy)}.content{padding:42px 43px 56px;max-width:1700px;width:100%;margin:0 auto;flex:1}.footer{font-size:10px;padding:0 43px 25px;color:#93a4b8;display:flex;justify-content:space-between;gap:15px}.footer span{max-width:500px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:800;color:#3a7de8;margin-bottom:12px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.page-head h1{font-family:Manrope,sans-serif;font-size:clamp(25px,2.3vw,35px);letter-spacing:-1.6px;line-height:1.2;margin:0 0 10px;font-weight:800}.page-head p{color:#7b8a9d;margin:0;line-height:1.65;max-width:780px;font-size:13px}.period-badge{border:1px solid #dfe8f3;border-radius:20px;background:#fff;padding:10px 16px;white-space:nowrap;font-size:11px;color:#7c91ae}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}.metrics.three{grid-template-columns:repeat(3,1fr)}.metric,.panel{background:#fff;border:1px solid #e4ebf4;border-radius:var(--radius);box-shadow:var(--shadow)}.metric{padding:23px 23px 24px;min-width:0}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#8a9ab0;font-size:11px;font-weight:700;gap:8px}.metric-icon{color:#8ab1e9;font-size:21px}.metric strong{display:block;font-family:Manrope,sans-serif;font-size:30px;color:#132b48;margin:17px 0 3px;letter-spacing:-1.3px;overflow-wrap:anywhere}.metric small{font-size:10px;color:#9ba9bc}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.panel{padding:24px;min-width:0;margin-bottom:20px}.panel h2,.panel h3{font-family:Manrope,sans-serif;color:#16304e;letter-spacing:-.4px;margin:0;font-size:17px}.panel h3{font-size:15px}.panel.highlight{padding:31px 30px;min-height:286px;background:linear-gradient(126deg,#ffffff,#f4f8ff);border:1px solid #dfe9f9;position:relative;overflow:hidden}.panel.highlight.teal{background:linear-gradient(125deg,#fff,#f0fbfb);border-color:#dcebed}.highlight:after{content:'◉';position:absolute;font-size:210px;color:#dce8fa;top:-100px;right:-55px;opacity:.3;pointer-events:none}.highlight.teal:after{color:#bbebe9}.panel-kicker{font-size:10px;letter-spacing:2px;font-weight:800;color:#6095da;margin-bottom:18px}.panel.highlight h2{font-size:24px;letter-spacing:-1.1px}.panel.highlight p{color:#73869e;font-size:12px;line-height:1.75;max-width:480px;min-height:50px}.blue-dot{color:#4c87e0;font-size:12px;vertical-align:middle}.feature-pills{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 21px}.feature-pills span{font-size:10px;background:#e8f1ff;border-radius:6px;color:#4577b6;padding:6px 9px;font-weight:700}.panel.highlight.teal .feature-pills span{background:#e4f4f1;color:#278a81}.btn{border:0;display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:40px;border-radius:9px;padding:11px 17px;font-size:12px;font-weight:800;text-decoration:none!important;transition:transform .14s,background .14s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn.blue{color:#fff;background:var(--blue2)}.btn.blue:hover{background:#164bb7}.btn.outline{color:#2e70cc;border:1px solid #d3e1f7;background:#fff}.ghost{display:inline-block;border:1px solid #dbe5f1;background:#f9fbff;color:#3266ae;padding:10px 14px;border-radius:9px;font-weight:700;font-size:12px;text-decoration:none}.ghost.small{padding:7px 9px;font-size:10px}.ghost:hover{background:#eef5ff;text-decoration:none}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;flex-wrap:wrap}.panel-title a{font-weight:700;font-size:11px}.lower .panel{min-height:250px}.activity{display:flex;align-items:start;gap:12px;padding:14px 2px;border-bottom:1px solid #eff3f8}.activity:last-child{border-bottom:0}.activity b{display:block;font-size:11px;line-height:1.5;color:#31506c}.activity small{display:block;font-size:10px;color:#91a1b2;margin-top:5px}.activity-dot{width:8px;height:8px;flex:none;margin-top:5px;border-radius:50%}.activity-dot.red{background:#ee7474}.activity-dot.blue{background:#70acfa}.empty{min-height:166px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#7a8fa8;text-align:center}.empty span{width:37px;height:37px;background:#eff5fe;color:#4185e2;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:23px}.empty b{font-size:12px;color:#59718c}.empty small{font-size:11px;line-height:1.6;max-width:450px}.small-empty{min-height:150px}.chip{display:inline-flex;border-radius:6px;font-weight:800;white-space:nowrap;font-size:10px;padding:5px 8px;line-height:1.3}.chip.green{background:#e5f7ec;color:#24844d}.chip.blue{background:#e9f1ff;color:#3a71c9}.chip.red{background:#fff0f0;color:#c84b58}.chip.amber{background:#fff5dc;color:#ae7514}.chip.gray,.chip.neutral{background:#eef1f6;color:#79879a}.hint{margin:16px 0 22px;padding:15px 18px;border:1px solid #dfe9f5;background:#edf4fd;border-radius:10px;color:#68829f;line-height:1.7;font-size:11px}.hint.warning{background:#fff8e8;border-color:#f3e5bb;color:#9e6b1b}.hint b{color:#345879}.flash{border-radius:10px;padding:13px 16px;margin-bottom:20px;font-weight:700;font-size:12px;line-height:1.6}.flash.ok{background:#e2f8e9;color:#217c45;border:1px solid #bce6cb}.flash.error{background:#fff0f1;color:#ae3042;border:1px solid #f3c6ca}.panel form.stack,.stack{display:flex;flex-direction:column;gap:16px}.stack label,.filterbar label{display:flex;flex-direction:column;gap:7px;color:#334e6b;font-size:11px;font-weight:800}.stack input,.stack select,.compact-form select,.filterbar input,.filterbar select,.top-actions input,.searchbox input,.inlineform select{border:1px solid #dbe5f1;border-radius:9px;background:#fafdff;color:#223b56;padding:11px 12px;font-size:12px;outline:none;min-height:39px;width:100%;max-width:100%}.stack input:focus,.stack select:focus,.filterbar select:focus{border-color:#5e94e6;box-shadow:0 0 0 3px #eaf3ff}.stack small{font-size:11px;color:#94a3b8;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid.three-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.tiny-details{border:1px dashed #dce5f3;border-radius:9px;padding:10px 12px}.tiny-details summary{font-size:11px;color:#56769d;cursor:pointer;font-weight:700}.tiny-details label{margin-top:10px}.tiny-details small{display:block;margin-top:5px}.table-scroll{overflow:auto;border-radius:9px;width:100%}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px;min-width:740px}th{text-transform:uppercase;letter-spacing:.8px;font-size:9px;font-weight:800;color:#93a3b9;padding:14px 12px;background:#f7faff;border-top:1px solid #eaf0f6;border-bottom:1px solid #e7edf5}td{padding:13px 12px;vertical-align:middle;border-bottom:1px solid #edf1f7;color:#4b6077;line-height:1.45}td b{color:#203850;display:block;font-weight:800;line-height:1.5}td small{display:block;font-size:10px;color:#94a3b7;line-height:1.5;margin-top:3px}td:last-child{min-width:95px}tr:last-child td{border-bottom:0}.price{font-family:Manrope,sans-serif;color:#163655;font-size:13px}.spark{width:100px;height:40px}.muted{font-size:10px;color:#a2b0c1}.small-date{white-space:nowrap;font-size:10px}.error-txt{color:#d25757!important;max-width:290px}.amber-text{color:#bc862b!important}.alert-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 2px;border-top:1px solid #edf2f7}.alert-row b{font-size:11px;color:#32516e}.alert-row small{display:block;color:#91a1b3;margin-top:6px;font-size:10px}.alert-label{display:inline-block;background:#fff0ec;color:#ba514d;padding:4px 7px;font-size:9px;text-transform:uppercase;font-weight:800;border-radius:6px;margin-right:6px}.inlineform{display:inline-flex;align-items:center;gap:7px;vertical-align:middle}.inlineform select{min-width:90px;max-width:138px;padding:6px 8px}.compact-form{display:flex;align-items:center;gap:6px;min-width:220px}.compact-form select{max-width:210px;min-width:130px;padding:7px;font-size:10px}.urltext{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filterbar{display:flex;align-items:center;justify-content:space-between;gap:17px;padding:13px 2px 22px}.filterbar select{min-width:190px}.filter-help{font-size:10px;color:#a2b1c3}.recommendation{font-size:15px;color:#2368cc;font-family:Manrope,sans-serif}.coverage{height:5px;background:#e9edf3;border-radius:8px;margin-top:8px;min-width:80px;max-width:130px}.coverage span{height:5px;border-radius:8px;display:block;background:linear-gradient(90deg,#4e92ed,#54c1ae)}.searchbox{display:flex;gap:7px}.searchbox input{min-width:240px}.explain-item{padding:13px 0;border-top:1px solid #edf1f7}.explain-item b{font-size:12px}.explain-item p{font-size:11px;color:#8093a6;line-height:1.6;margin:6px 0 0}.explain-item code{font-size:10px;word-break:break-all}.import-preview{border-color:#a6c9f6;background:#fcfdff}.import-preview p{font-size:12px;color:#7a8da4;margin:0 0 12px}.import-preview .inlineform{margin-top:12px;margin-right:10px}.login-screen,.error-screen{background:#f5f8fc;min-height:100vh}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{position:relative;overflow:hidden;background:linear-gradient(135deg,#0e2848,#195394);color:#fff;padding:66px 72px}.brand-xl{font-size:55px;font-weight:800;letter-spacing:-4px;font-family:Manrope,sans-serif;color:#bfdbff}.brand-xl span{color:#5fa7ff}.brand-xl small{color:#b3d2f5;letter-spacing:5px}.login-message{position:relative;z-index:2;margin-top:22vh;max-width:550px}.login-message .eyebrow{color:#93c1f5}.login-message h1{font-family:Manrope,sans-serif;font-size:clamp(35px,3.6vw,60px);line-height:1.15;letter-spacing:-2.8px;margin:0 0 23px}.login-message p{font-size:16px;color:#afc8e4;line-height:1.7}.login-decoration{font-size:450px;color:#ffffff;opacity:.05;position:absolute;right:-95px;bottom:-180px;line-height:1}.login-side{display:flex;align-items:center;justify-content:center;padding:50px 34px}.login-card{background:#fff;border:1px solid #e1eaf5;border-radius:20px;max-width:440px;width:100%;padding:42px 40px;box-shadow:0 25px 90px #244b7a10}.login-card h2{font-family:Manrope,sans-serif;font-size:30px;letter-spacing:-1px;margin:0 0 10px}.login-card p{font-size:12px;color:#8699b0;line-height:1.7;margin-bottom:30px}.login-card>small{font-size:10px;color:#a1afbf;display:block;margin-top:25px}.login-card .btn{width:100%;margin-top:12px}.install-wrap{max-width:790px;width:calc(100% - 32px);margin:50px auto;background:#fff;border:1px solid #e3eaf2;border-radius:18px;padding:42px;box-shadow:var(--shadow)}.install-wrap h1{margin:0;font-family:Manrope,sans-serif}.install-wrap>p{margin:8px 0 25px;color:#7d92a8}.error-screen{display:flex;justify-content:center;align-items:center}
@media(max-width:1280px){.sidebar{width:214px}.mainwrap{margin-left:214px;width:calc(100% - 214px)}.content{padding:32px 25px}.topbar{padding:0 26px}.metric{padding:19px 15px}.metric strong{font-size:25px}.panel{padding:20px}}
@media(max-width:980px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{transform:translateX(-100%);transition:transform .23s}.sidebar.open{transform:translateX(0)}.mainwrap{margin-left:0;width:100%}.mobilemenu{display:block}.topbar{height:auto;min-height:72px;padding:14px 18px}.content{padding:27px 20px}.crumb{display:none}.footer{padding:0 20px 20px}.login-art{padding:45px}.login-message{margin-top:14vh}}
@media(max-width:700px){.two-col,.login-layout{grid-template-columns:1fr}.login-art{display:none}.login-side{min-height:100vh}.form-grid,.form-grid.three-fields{grid-template-columns:1fr}.content{padding:21px 13px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:26px}.metrics{gap:10px}.metrics.three{grid-template-columns:1fr 1fr}.metric strong{font-size:23px}.metric{padding:16px 13px}.metric-top{font-size:10px}.top-actions{gap:7px}.user-badge{display:none}.topbar{padding:12px}.panel{padding:17px;border-radius:13px}.filterbar{flex-direction:column;align-items:stretch}.filterbar select{width:100%}.filter-help{display:none}.panel-title{align-items:flex-start}.searchbox input{min-width:0}.footer{flex-direction:column;gap:4px}.alert-row{flex-direction:column;align-items:flex-start}.login-card{padding:28px 20px}.install-wrap{margin:18px auto;padding:26px 18px}.compact-form{min-width:180px}}
.details-title{font-family:Manrope,system-ui,sans-serif;color:#1b3654;font-size:15px;font-weight:800;cursor:pointer;padding:2px 0}.details-title:hover{color:#3273d8}

/* UPUN Intelligence 1.1 — imports and destructive controls */
.stack textarea{border:1px solid #dbe5f1;border-radius:9px;background:#fafdff;color:#223b56;padding:12px;width:100%;font:inherit;resize:vertical;min-height:115px}
.stack textarea:focus{border-color:#5e94e6;box-shadow:0 0 0 3px #eaf3ff;outline:0}
.input-small,.inlineform .date-small{border:1px solid #dbe5f1;background:#fff;color:#223b56;border-radius:8px;padding:7px 9px;max-width:175px;font-size:11px}
.ghost.danger{border-color:#f5c8cd;background:#fff7f7;color:#ba3b4e}
.ghost.danger:hover{background:#ffe9e9}
.no-bottom{margin-bottom:0}.po-import{border-color:#c6dcfa;background:linear-gradient(115deg,#fff,#f9fcff)}
.po-import details summary{font-weight:700;font-size:12px;color:#2d67b1;cursor:pointer}
.po-import details[open] summary{margin-bottom:10px}
.po-import .two-col .explain-item:first-child{border-top:0}
.import-preview select{border:1px solid #dbe5f1;background:#fff;border-radius:8px;padding:8px;max-width:370px;font-size:11px}
.nav-link{padding-top:11px;padding-bottom:11px}
@media(max-width:900px){.po-import .two-col{grid-template-columns:1fr}.input-small{max-width:130px}}
