:root{--portal-purple:#8c57ff;--portal-ink:#312d4b;--portal-muted:#6d6b77}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:#f4f5fa}.brand-symbol{display:inline-grid;place-items:center;background:#8c57ff;color:#fff;width:38px;height:38px;border-radius:12px;font-size:28px;font-weight:700;letter-spacing:-3px;padding-right:4px}.brand-symbol span{font-size:18px}.brand-caption{display:block;font-size:9px;letter-spacing:1.5px;margin-top:3px;color:#92909e}.app-brand-text{font-size:20px!important}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--portal-purple)}.page-heading h1{letter-spacing:-.7px}.sidebar-note{background:#f5f0ff;color:#625a76;font-size:13px}.avatar-circle{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#eee4ff;color:#8c57ff;font-weight:700}.stat-card{border:1px solid #edeaf3;box-shadow:0 3px 13px #312d4b05}.stat-icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;font-size:21px}.stat-card .h4{font-size:24px;letter-spacing:-.5px}.currency{font-size:.55em;font-weight:500;color:#8d899b;letter-spacing:.6px}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.card{border-radius:14px}.card-header{border-bottom:1px solid #f0edf5}.table th{font-size:10px;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap;background:#fcfbfe}.table td{font-size:13px;padding-top:18px;padding-bottom:18px}.table .money{font-weight:500}.table-responsive{border-radius:0 0 14px 14px}.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.filter-bar .filter-field{min-width:140px;flex:1}.filter-bar label{font-size:11px;font-weight:500}.filter-bar .form-control,.filter-bar .form-select{min-height:39px}.opportunity-card{overflow:hidden;height:100%;border:1px solid #ece8f5;transition:transform .18s,box-shadow .18s}.opportunity-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #312d4b0b}.opportunity-top{background:linear-gradient(125deg,#f1e9ff,#f8f6ff);padding:24px;min-height:120px;position:relative}.project-monogram{font-size:42px;font-weight:700;color:#8c57ff33;position:absolute;right:24px;bottom:12px}.opportunity-card h2 a{color:var(--portal-ink)}.opportunity-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:62px}.opportunity-card .progress{height:6px}.opportunity-metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px}.opportunity-metrics small{display:block;color:var(--portal-muted);font-size:11px;margin-bottom:5px}.opportunity-metrics strong{font-size:15px;font-weight:600}.hero-banner{background:linear-gradient(115deg,#372266,#6940b2);color:#fff;border-radius:16px;padding:36px;position:relative;overflow:hidden}.hero-banner:after{content:"↗";position:absolute;right:35px;top:-32px;font-size:200px;line-height:1.2;color:#ffffff0b}.hero-banner h2{color:white;letter-spacing:-1px;max-width:600px}.hero-banner p{color:#ede3ff;max-width:570px}.hero-banner .btn{position:relative;z-index:1}.empty-symbol{font-size:36px;color:#a888ef}.empty-state p{max-width:440px;margin:auto}.chart-area{min-height:300px}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.metric-strip>div{border-right:1px solid #eee;padding-right:14px}.metric-strip>div:last-child{border:0}.metric-strip small{display:block;color:var(--portal-muted);margin-bottom:8px}.detail-list dt{font-size:12px;color:var(--portal-muted);font-weight:400}.detail-list dd{margin-bottom:20px;font-weight:500}.preserve-lines{white-space:pre-line}.auth-shell{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.auth-story{background:linear-gradient(145deg,#261746,#633ab2);color:white;padding:60px;display:flex;flex-direction:column;justify-content:space-between;gap:50px}.auth-story h1{font-size:44px;line-height:1.22;letter-spacing:-1.8px}.auth-features p{font-size:12px;color:#bc9af2;border-top:1px solid #ffffff20;padding-top:18px}.auth-features span{margin-left:20px;font-size:14px;color:#f1e8ff}.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:45px 25px;background:white}.auth-form-wrap{width:100%;max-width:420px}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;z-index:2000;padding:15px}.skip-link:focus{top:15px}.progress{background:#f0eafc}.form-label{font-size:12px}.section-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#a8a4b5}.dashboard-note{font-size:11px;color:#898494}.pagination{flex-wrap:wrap;gap:4px}.chart-table-toggle{font-size:12px}.opportunity-detail{font-size:15px;line-height:1.9}a:focus-visible,button:focus-visible{outline:3px solid #b89aff;outline-offset:3px}@media(max-width:1199px){.sidebar-note{display:none}}@media(max-width:850px){.auth-shell{grid-template-columns:1fr}.auth-story{display:none}.auth-form-panel{min-height:100vh}.metric-strip{grid-template-columns:repeat(2,1fr)}.hero-banner{padding:25px}.stat-card .h4{font-size:21px}}@media print{.layout-menu,.layout-navbar,.content-footer,.page-heading .btn,.filter-bar{display:none!important}.layout-page{padding:0!important}.card{break-inside:avoid}.container-xxl{max-width:none}}
