.app-portal{--blue:#002699;--blue-dark:#001a66;--blue-light:#eef1fb;--accent:#ff7a00;--green:#1a9e5c;--red:#d64545;--amber:#e6a817;--ink:#1c2333;--muted:#5b6478;--line:#e3e7f0;--card:#fff;--bg:#f5f7fc;font-family:'Segoe UI',system-ui,-apple-system,Arial,sans-serif;color:var(--ink);line-height:1.55;background:var(--bg);border-radius:14px;overflow:hidden;border:1px solid var(--line)}.app-portal *,.app-portal *:before,.app-portal *:after{box-sizing:border-box}.app-portal h1,.app-portal h2,.app-portal h3,.app-portal h4,.app-portal p,.app-portal ul{margin:0;padding:0}.app-header{background:linear-gradient(120deg,var(--blue) 0%,var(--blue-dark) 100%);color:#fff;padding:0 24px}.app-topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;flex-wrap:wrap;gap:10px}.app-brand{display:flex;align-items:center;gap:12px}.app-mark{width:40px;height:40px;border-radius:8px;background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px}.app-brand h1{font-size:19px;font-weight:700;color:#fff}.app-brand small{display:block;font-size:11.5px;font-weight:400;opacity:.85}.app-chip{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);padding:6px 14px;border-radius:20px;font-size:12.5px}.app-nav{display:flex;gap:4px;overflow-x:auto}.app-nav button{background:0 0;border:none;color:#cdd6f5;padding:12px 18px;font-size:14px;cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap;font-weight:600;border-radius:0}.app-nav button:hover{color:#fff;background:0 0}.app-nav button.active{color:#fff;border-bottom-color:var(--accent)}.app-page{display:none;padding:28px 24px 40px}.app-page.active{display:block}.app-title{font-size:26px;margin-bottom:6px}.app-sub{color:var(--muted);margin-bottom:26px;max-width:760px}.app-h{font-size:19px;margin:32px 0 14px}.app-grid{display:grid;gap:18px}.app-grid.c3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.app-grid.c4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.app-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}.app-card h3{font-size:16px;margin-bottom:8px;color:var(--blue)}.app-card p{font-size:13.5px;color:var(--muted)}.app-tag{display:inline-block;background:var(--blue-light);color:var(--blue);font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:12px;margin-bottom:10px}.app-hero{background:linear-gradient(120deg,var(--blue) 0%,#0d3ec2 100%);color:#fff;border-radius:14px;padding:36px;margin-bottom:26px}.app-hero h2{font-size:28px;margin-bottom:10px;color:#fff}.app-hero p{max-width:720px;opacity:.92;font-size:15px;color:#fff}.app-cta{display:inline-block;margin-top:18px;background:var(--accent);color:#fff;border:none;padding:11px 22px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer}.app-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:24px 0}.app-stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;text-align:center}.app-stat .num{font-size:26px;font-weight:800;color:var(--blue)}.app-stat .lbl{font-size:12.5px;color:var(--muted);margin-top:2px}.app-checks{list-style:none;margin-top:10px}.app-checks li{font-size:13.5px;color:var(--muted);padding:4px 0 4px 24px;position:relative}.app-checks li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}.app-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.app-row.single{grid-template-columns:1fr}.app-portal form label{display:block;font-size:12.5px;font-weight:700;margin:14px 0 5px;color:var(--ink)}.app-portal label .req{color:var(--red)}.app-portal input,.app-portal select,.app-portal textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:var(--ink)}.app-portal input:focus,.app-portal select:focus,.app-portal textarea:focus{outline:2px solid var(--blue);border-color:var(--blue)}.app-form-h{color:var(--blue);font-size:16px}.app-btn{background:var(--blue);color:#fff;border:none;padding:12px 26px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;margin-top:22px}.app-btn:hover{background:var(--blue-dark)}.app-btn[disabled]{opacity:.6;cursor:wait}.app-notice{border-radius:10px;padding:14px 16px;font-size:13.5px;margin-top:18px;display:none}.app-notice.ok{display:block;background:#e8f7ef;border:1px solid #bfe6d0;color:#116b3d}.app-notice.err{display:block;background:#fbe9e9;border:1px solid #ecc4c4;color:#a12f2f}.app-tablewrap{overflow-x:auto}.app-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:13.5px}.app-table th{background:var(--blue-light);color:var(--blue);text-align:left;padding:11px 14px;font-size:12.5px;text-transform:uppercase;letter-spacing:.4px}.app-table td{padding:11px 14px;border-top:1px solid var(--line)}.app-pill{padding:3px 11px;border-radius:12px;font-size:11.5px;font-weight:700}.app-pill.approved,.app-pill.good{background:#e8f7ef;color:#116b3d}.app-pill.pending,.app-pill.warn{background:#fdf3dd;color:#8a6410}.app-pill.won{background:var(--blue-light);color:var(--blue)}.app-pill.bad,.app-pill.rejected,.app-pill.lost{background:#fbe9e9;color:#a12f2f}.app-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:22px}.app-kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}.app-kpi .lbl{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.app-kpi .val{font-size:25px;font-weight:800;margin-top:4px}.app-kpi .sub{font-size:12.5px;color:var(--muted);margin-top:3px}.app-barwrap{margin:10px 0 16px}.app-barlbl{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-bottom:4px}.app-bartrack{background:#e9edf7;height:22px;border-radius:6px;position:relative;overflow:hidden}.app-barfill{height:100%;border-radius:6px;background:var(--blue);display:flex;align-items:center;justify-content:flex-end;padding-right:8px;color:#fff;font-size:11px;font-weight:700;min-width:34px}.app-qgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:10px}.app-qcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}.app-qcard h4{font-size:13px;color:var(--muted);margin-bottom:10px}.app-duo{display:flex;gap:6px;align-items:flex-end;height:110px;margin-bottom:8px}.app-duo .col{flex:1;border-radius:6px 6px 0 0;position:relative}.app-duo .col span{position:absolute;top:-18px;left:0;right:0;text-align:center;font-size:10.5px;font-weight:700;color:var(--muted)}.app-legend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin:8px 0 18px}.app-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}.app-toolrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.app-toolrow label{margin:0;font-weight:700;font-size:13px}.app-toolrow select{width:auto;min-width:230px}.app-auth{padding:40px 24px 60px;background:var(--bg)}.app-auth-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;max-width:900px;margin:0 auto}.app-auth-card{padding:28px}.app-auth-card h3{font-size:19px}.app-auth-card>p{margin-bottom:6px}.app-auth-alt{margin-top:14px;font-size:13px}.app-auth .app-card{max-width:900px;margin:0 auto}.app-userbox{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.app-logout{color:#fff;text-decoration:none}.app-logout:hover{background:rgba(255,255,255,.25);color:#fff}.app-footer{border-top:1px solid var(--line);background:#fff;padding:18px 24px;font-size:12.5px;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}@media(max-width:720px){.app-row{grid-template-columns:1fr}.app-hero{padding:24px}}