:root{font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#192a2b;background:#f3f6f5;font-synthesis:none;font-size:16px;--ink:#162d28;--muted:#708079;--line:#e2e9e5;--green:#1e674d;--mint:#d5efdf;--dark:#0d1b1e}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:2rem;letter-spacing:-1px;line-height:1.2;font-weight:650}h2{font-size:1.1rem;font-weight:650;letter-spacing:-.3px}h3{font-size:1rem;font-weight:650}p{line-height:1.55}small{font-size:.8rem}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #78ba98}button{transition:background .15s,box-shadow .15s}button:hover:not(:disabled){filter:brightness(.97)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.eyebrow{font-size:.73rem;font-weight:700;letter-spacing:1.8px;color:#72877b;margin-bottom:13px}.brand{display:flex;align-items:center;gap:9px;font-size:1.18rem;font-weight:650;letter-spacing:-.5px}.brand img{width:30px;height:30px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 17px;border-radius:8px;font-size:.875rem;font-weight:600;white-space:nowrap}.primary{background:var(--green);color:#fff}.secondary{background:#fff;color:#31463a;border:1px solid #dbe4df}.text-button{background:none;color:var(--green);font-size:.85rem;font-weight:650;padding:8px 0}.icon-button{background:none;padding:8px 10px;color:#566f63;border-radius:6px;font-size:1rem}.muted{color:var(--muted)}.startup{display:grid;gap:18px;place-content:center;height:100vh;font-size:1.8rem;font-weight:650}.startup span{font-size:1rem;color:var(--muted);font-weight:400}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-story{padding:48px 64px;background:var(--dark);color:#edf5ef;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-story h1{font-size:clamp(2.4rem,4vw,4.3rem);font-weight:500;letter-spacing:-2px;line-height:1.08;margin:25px 0}.login-story p{color:#a2b8ac;font-size:1.05rem}.login-story .eyebrow{color:#a7dcbc}.login-foot{font-size:.72rem;letter-spacing:2px;color:#799084}.login-area{display:flex;align-items:center;justify-content:center;padding:40px;background:#fcfdfc}.login form{width:min(390px,100%)}.login h2{font-size:1.8rem;letter-spacing:-1px;margin-bottom:12px}.login form>p{color:var(--muted);font-size:.95rem;margin-bottom:32px}.login label{display:block;font-size:.9rem;font-weight:600;margin:21px 0 9px}.login input{width:100%;height:48px;border:1px solid #d5dfd8;background:white;border-radius:7px;padding:10px 13px}.login .primary{width:100%;margin-top:10px;padding:15px;justify-content:space-between}.login .form-error{font-size:.86rem;color:#ad482c;min-height:21px;margin:12px 0}.workspace{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--dark);color:#edf4f0;display:flex;flex-direction:column;padding:32px 18px 20px;z-index:10}.sidebar .brand{padding:0 7px;font-size:1.08rem}.workspace-label{font-size:.65rem;letter-spacing:1.6px;color:#748d80;margin:44px 15px 14px}.sidebar nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:7px;background:transparent;color:#a2b6aa;font-size:.89rem;text-align:left}.nav-item>span{font-size:1.2rem;width:21px;text-align:center;color:#809b8b}.nav-item small{margin-left:auto;font-size:.7rem;color:#708f7d}.nav-item.active{background:#213a30;color:#d4f2df}.nav-item.active>span{color:#a9e6c2}.nav-item.active small{color:#bfdfcd}.sidebar-bottom{margin-top:auto;padding-top:40px}.sidebar-bottom>a{font-size:.85rem;display:flex;justify-content:space-between;padding:14px 12px;color:#96ad9f;border-bottom:1px solid #2b3b35;margin-bottom:22px}.profile{display:flex;align-items:center;gap:10px;padding:0 4px}.avatar{background:#284437;color:#bde4cc;font-size:.75rem;display:grid;place-content:center;width:34px;height:34px;border-radius:50%;flex-shrink:0}.profile strong{display:block;font-size:.8rem;font-weight:500}.profile small{display:block;font-size:.7rem;color:#7f9989;margin-top:4px}.logout{background:none;color:#94ac9f;font-size:1.3rem;margin-left:auto}.main-wrap{margin-left:236px;min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#fbfcfb;font-size:.8rem;color:#819086;gap:20px}.topbar strong{font-weight:500;color:#43594d}.topbar>div>span{margin:0 12px;color:#b0bdb3}.top-actions{display:flex;gap:16px;align-items:center}.top-actions .updated{font-size:.73rem;color:#75877c;margin:0}#content{padding:34px 36px 32px;max-width:1660px;width:100%;margin:0 auto;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.page-heading .eyebrow{font-size:.66rem;margin-bottom:10px}.page-heading p{margin-top:9px;color:#75847b;font-size:.9rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.metric{text-align:left;border:1px solid var(--line);background:#fff;border-radius:11px;padding:21px 20px;display:flex;flex-direction:column;align-items:flex-start;color:inherit;min-height:143px}.metric>span{font-size:.81rem;color:#607669}.metric>strong{font-size:2.35rem;letter-spacing:-1.6px;line-height:1.15;font-weight:600;margin:12px 0 9px}.metric>small{color:#8a968e;font-size:.71rem;line-height:1.4}.metric.mint{background:#dceee2;border-color:#c8e1d1}.metric.mint>small{color:#6d8875}.overview-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:23px;margin-bottom:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.panel-head{padding:23px 24px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-head p{font-size:.78rem;color:#829186;margin-top:7px}.tag{font-size:.64rem;letter-spacing:.8px;font-weight:650;color:#788d7d;background:#f2f6f3;border:1px solid #e6ece7;padding:5px 8px;border-radius:4px;white-space:nowrap}.purchase-breakdown{padding:0 24px 12px}.breakdown-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:white;border-bottom:1px solid #f0f3f0;padding:13px 0;font-size:.86rem;color:#4e6556}.breakdown-row:last-child{border-bottom:0}.breakdown-row strong{font-size:1.2rem;font-weight:600;margin-left:auto;color:#25412f}.row-arrow{color:#a5b7aa;font-size:1rem;margin-left:12px}.legend{width:8px;height:8px;border-radius:2px;background:#adbbb1}.legend.green{background:#327d59}.legend.blue{background:#699fc3}.legend.amber{background:#d3b372}.legend.gray{background:#b0bbb5}.panel-note{background:#fafcfb;border-top:1px solid #ecf0ed;color:#7a8b80;font-size:.77rem;line-height:1.5;padding:14px 24px}.chart{width:100%;height:220px;padding:0 18px 10px}.campaign-callout{display:flex;align-items:center;gap:25px;background:#10291f;color:#edf5ef;padding:25px 29px;border-radius:11px;margin-bottom:25px}.campaign-callout .eyebrow{font-size:.62rem;color:#9cb8a7;margin-bottom:7px}.campaign-callout h2{font-size:1.3rem;font-weight:500}.campaign-callout p{color:#8daa98;font-size:.82rem;margin-top:8px}.campaign-symbol{font-size:3rem;font-weight:400;letter-spacing:-2px;color:#c4eed4;padding-right:25px;border-right:1px solid #355541}.campaign-symbol span{font-size:1.4rem;vertical-align:top;line-height:2.3}.campaign-callout .primary{margin-left:auto;background:#c8ecd6;color:#214a32}.attention{display:flex;align-items:center;text-align:left;background:#fff;width:100%;padding:17px 24px;gap:15px;border-top:1px solid #f0f3f0;color:#5c7365}.attention strong{font-size:.87rem;color:#374d3e;font-weight:550}.attention p{font-size:.78rem;color:#8a978e;margin-top:5px}.attention>span:last-child{margin-left:auto}.notice-icon{display:grid;place-content:center;background:#fbf0dc;color:#a88739;border:1px solid #f0e4c5;border-radius:6px;min-width:29px;height:29px;font-size:.9rem}.notice-icon.muted{background:#f2f5f3;border-color:#e3eae5;color:#7b8f80}.product-mini{display:flex;align-items:center;gap:13px;padding:17px 24px;border-top:1px solid #f0f3f0}.product-mini>strong{margin-left:auto;font-weight:550}.product-mini>strong small{font-weight:400;color:#8b988f}.product-mini p{font-size:.78rem;color:#8a978e;margin-top:5px}.product-mini div strong{font-size:.9rem}.product-icon{width:40px;height:40px;border-radius:10px;display:grid;place-content:center;font-size:1.1rem;font-weight:700;flex-shrink:0}.product-icon.blue{color:#416fa0;background:#e8eff8}.product-icon.green{color:#477b59;background:#e7f1e9}.product-icon.yellow{color:#a18a35;background:#f7f2d8}.product-icon.orange{color:#b78545;background:#f9eddc}.app-footer{padding:15px 36px 25px;color:#9ba69e;font-size:.7rem;display:flex;justify-content:space-between}.filters{display:flex;gap:9px;align-items:center;padding:20px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;border:1px solid #dde6df;border-radius:7px;padding:0 10px;background:#fcfdfc}.search-box span{font-size:1.45rem;color:#86988b}.search-box input{border:0;background:none;min-width:100px;width:100%;height:38px;font-size:.82rem;color:#344d3c}.search-box input:focus{outline:none}.search-box:focus-within{outline:2px solid #82b897;outline-offset:2px}.filters select{height:40px;font-size:.78rem;color:#5b7163;background:#fff;border:1px solid #dde6df;border-radius:7px;padding:0 8px;max-width:215px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{padding:13px 19px;background:#f8faf9;border-top:1px solid #eaf0eb;border-bottom:1px solid #eaf0eb;font-size:.72rem;color:#86958a;font-weight:500}td{padding:15px 19px;border-bottom:1px solid #edf1ee;font-size:.82rem}tbody tr:hover{background:#fbfdfb}td strong{font-weight:550}.person-link{background:none;padding:0;text-align:left;color:#324b3b;display:block}.person-link strong{display:block;font-size:.84rem}.person-link span{display:block;margin-top:5px;color:#91a096;font-size:.73rem}.pill{display:inline-block;font-size:.69rem;border-radius:4px;padding:5px 7px;background:#f0f4f1;color:#708578;line-height:1.1}.product-desktop{background:#eaf0f8;color:#6081a4}.product-web{background:#eaf4ed;color:#61846c}.purchase-perpetual{background:#e7f2eb;color:#548260}.purchase-temporary{background:#eaf0f8;color:#6985a5}.purchase-historical{background:#fcf3df;color:#a28a48}.purchase-none{background:#f2f4f3;color:#89958e}.cell-sub{display:block;font-size:.7rem;color:#96a197;margin-top:7px}.status-good,.status-warning{font-size:.77rem}.status-good{color:#4d815e}.status-warning{color:#ae8050}.table-footer{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:#8b9a8f;padding:17px 21px}.table-footer>div{display:flex;align-items:center;gap:14px}.table-footer .secondary{padding:6px 11px}.empty{text-align:center;padding:55px;color:#819287}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product-card{padding:27px;display:flex;flex-direction:column}.product-card .product-icon{width:47px;height:47px;margin-bottom:23px}.product-card h2{font-size:1.25rem;margin-bottom:10px}.product-card>p{font-size:.9rem;color:#839389;min-height:50px}.product-card-metric{margin:28px 0 22px;padding-top:22px;border-top:1px solid #e9eeea;display:grid;gap:9px}.product-card-metric strong{font-size:1rem;font-weight:550}.product-card-metric span{font-size:.8rem;color:#90a095}.product-card>.text-button,.product-card>.tag{align-self:flex-start;margin-top:auto}.standalone{margin:24px 0;border:0;border-radius:8px}.campaign-plan{display:flex;align-items:center;gap:45px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px 28px;margin-bottom:25px}.campaign-plan>div:first-child{margin-right:auto}.campaign-plan h2{font-size:1.3rem;margin-top:14px}.campaign-plan p{font-size:.9rem;color:#788d7e;margin-top:7px}.plan-date{font-size:.75rem;color:#91a094}.plan-date strong{display:block;color:#5f7968;font-size:.85rem;margin-top:9px;font-weight:500}.check-row{display:flex;align-items:flex-start;gap:15px;margin:0 24px;padding:15px 0;border-bottom:1px solid #edf2ee}.check-row>span{background:#eff5f0;color:#648371;padding:3px 7px;border-radius:5px;font-size:.8rem}.check-row strong{font-size:.85rem;font-weight:600}.check-row p{font-size:.8rem;color:#829388;margin-top:7px}.panel-actions{padding:22px 24px;display:flex;gap:10px;flex-wrap:wrap}.panel-actions button{font-size:.76rem}.channel{padding:21px 24px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf2ee}.channel p{font-size:.82rem;color:#8a9a8f;margin-top:7px}.channel strong{font-size:.95rem;font-weight:550}.source-intro{padding:28px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.source-intro h2{font-size:1.5rem;margin:12px 0}.source-intro p{color:#839488;font-size:.9rem}.methodology{padding:28px;margin-top:24px}.methodology p{font-size:.88rem;color:#7c8f81;margin-top:14px;max-width:850px}.user-dialog{border:1px solid #dbe6de;border-radius:13px;max-width:650px;width:calc(100% - 32px);padding:0;max-height:90vh;color:var(--ink)}.user-dialog::backdrop{background:#08140eb0;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.dialog-head h2{font-size:1.5rem}.dialog-head p{color:#83998b;font-size:.88rem;margin-top:9px}.dialog-head .eyebrow{font-size:.65rem}.dialog-body{padding:28px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.detail-grid>div{min-width:0}.detail-grid span{display:block;color:#8a9e90;font-size:.76rem;margin-bottom:8px}.detail-grid strong{display:block;font-size:.88rem;word-break:break-word;font-weight:550}.dialog-body h3{margin:29px 0 17px}.dialog-body p{font-size:.85rem;line-height:1.6}.license-detail{border:1px solid var(--line);border-radius:7px;padding:14px 16px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.86rem}.license-detail small{display:block;color:#8c9e92;margin-top:7px}.exclusion-list{font-size:.85rem;color:#ac8051;padding-left:20px;line-height:1.8}.source-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:14px 22px;border-radius:8px;background:#173428;color:#e1f2e7;box-shadow:0 8px 30px #12342133;z-index:100;opacity:0;pointer-events:none;font-size:.88rem;max-width:90vw;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){#content{padding:42px 48px}.topbar{padding:0 48px}.metrics{gap:22px}.metric{min-height:165px}.metric>strong{font-size:2.65rem}.chart{height:235px}}
@media(max-width:1150px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.sidebar .brand{font-size:.95rem}.main-wrap{margin-left:205px}#content{padding:28px 24px}.topbar{padding:0 24px}.metrics{gap:11px}.metric{padding:17px 15px}.metric>span{font-size:.76rem}.metric>small{font-size:.69rem}.overview-grid{grid-template-columns:1fr}.chart{height:215px}.product-grid{grid-template-columns:repeat(2,1fr)}.updated{display:none}.campaign-symbol{font-size:2.5rem}.campaign-callout{gap:18px;padding:25px 23px}.campaign-callout p{max-width:320px}.campaign-plan{gap:22px}}
@media(max-width:760px){.sidebar{position:static;width:auto;padding:17px 16px}.sidebar .brand{font-size:1.05rem}.workspace{display:block}.workspace-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:4px;margin-top:16px;overflow-x:auto;padding-bottom:2px}.nav-item{white-space:nowrap;padding:10px 12px;font-size:.8rem}.nav-item>span,.nav-item small{display:none}.main-wrap{margin-left:0}.topbar{padding:15px 20px;height:auto;min-height:64px;font-size:.7rem}.topbar>div:first-child{display:none}.top-actions{width:100%;justify-content:flex-end}.topbar .secondary{font-size:.8rem;padding:8px 12px}#content{padding:25px 18px}.page-heading{align-items:flex-start;gap:15px}.page-heading h1{font-size:1.7rem}.page-heading p{font-size:.85rem}.page-heading .secondary{font-size:.7rem;padding:9px}.metrics{grid-template-columns:1fr 1fr;gap:12px}.metric{min-height:144px;padding:18px 15px}.metric>strong{font-size:2rem}.metric>span{font-size:.78rem}.metric>small{font-size:.71rem}.overview-grid{gap:17px;margin-bottom:17px}.panel-head{padding:21px 19px 17px}.panel-head .tag{display:none}.purchase-breakdown{padding:0 19px 14px}.campaign-callout{flex-wrap:wrap;padding:23px 20px;gap:20px}.campaign-symbol{padding-right:19px;font-size:2.7rem}.campaign-callout>div:nth-child(2){flex:1;min-width:200px}.campaign-callout h2{font-size:1.1rem}.campaign-callout .primary{margin-left:0;width:100%}.product-grid{grid-template-columns:1fr}.filters{padding:16px;gap:8px}.search-box{flex-basis:100%}.filters label:not(.search-box){flex:1;min-width:calc(50% - 10px)}.filters select{width:100%;max-width:none}.campaign-plan{display:grid;grid-template-columns:1fr 1fr;padding:23px;gap:24px}.campaign-plan>div:first-child{grid-column:1/-1}.source-intro{padding:22px;align-items:flex-start;gap:20px;flex-direction:column}.app-footer{padding:20px;display:block}.app-footer span{display:block;margin-top:7px}.login{display:block}.login-story{min-height:auto;padding:28px}.login-story>div{display:none}.login-foot{display:none}.login-area{min-height:calc(100vh - 86px);padding:35px 27px}.dialog-head,.dialog-body{padding:23px}.detail-grid{gap:21px 15px}.table-footer{font-size:.71rem}.login h2{font-size:1.6rem}.product-mini{padding:17px 19px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Compact working density */
.workspace .topbar{height:58px;padding-left:24px;padding-right:24px}
.workspace #content{padding:23px 24px 20px;max-width:1740px}
.workspace .page-heading{margin-bottom:18px;gap:15px}
.workspace .page-heading .eyebrow{margin-bottom:6px}
.workspace .page-heading h1{font-size:1.65rem;letter-spacing:-.65px}
.workspace .page-heading p{margin-top:6px;font-size:.875rem}
.workspace .metrics{gap:12px;margin-bottom:16px}
.workspace .metric{min-height:105px;padding:13px 15px;border-radius:8px}
.workspace .metric>strong{font-size:1.9rem;line-height:1.05;margin:8px 0 6px;letter-spacing:-.8px}
.workspace .metric>span{font-size:.8rem}
.workspace .metric>small{font-size:.75rem}
.workspace .overview-grid{gap:16px;margin-bottom:16px}
.workspace .panel{border-radius:8px}
.workspace .panel-head{padding:15px 17px 12px;gap:10px}
.workspace .panel-head p{margin-top:4px}
.workspace .purchase-breakdown{padding:0 17px 7px}
.workspace .breakdown-row{padding:9px 0;gap:9px}
.workspace .breakdown-row strong{font-size:1rem}
.workspace .panel-note{padding:9px 17px;font-size:.75rem}
.workspace .chart{height:171px;padding:0 14px 7px}
.workspace .campaign-callout{padding:17px 20px;gap:18px;margin-bottom:16px}
.workspace .campaign-symbol{font-size:2.3rem;padding-right:18px}
.workspace .campaign-callout h2{font-size:1.08rem}
.workspace .campaign-callout p{margin-top:4px}
.workspace .attention{padding:12px 17px;gap:11px}
.workspace .attention p{margin-top:3px}
.workspace .product-mini{padding:12px 17px;gap:10px}
.workspace .product-mini p{margin-top:3px}
.workspace .product-icon{width:32px;height:32px;border-radius:7px;font-size:.95rem}
.workspace .primary,.workspace .secondary{padding:8px 12px;font-size:.82rem;border-radius:6px}
.workspace .filters{padding:12px;gap:7px}
.workspace .search-box input{height:34px;font-size:.875rem}
.workspace .filters select{height:35px;font-size:.8rem}
.workspace th{padding:8px 12px;font-size:.8rem}
.workspace td{padding:8px 12px;font-size:.875rem}
.workspace .person-link strong{font-size:.84rem;line-height:1.25}
.workspace .person-link span{font-size:.75rem;margin-top:2px;line-height:1.2}
.workspace .cell-sub{font-size:.72rem;margin-top:3px;line-height:1.15}
.pill{font-size:.72rem;line-height:1;padding:3px 5px;border-radius:3px;font-weight:500;white-space:nowrap;vertical-align:middle}
.tag{font-size:.62rem;padding:3px 5px;letter-spacing:.55px;border-radius:3px}
.workspace .icon-button{padding:5px 7px}
.workspace .table-footer{padding:10px 13px;font-size:.78rem}
.workspace .table-footer .secondary{padding:5px 9px}
.workspace .product-grid{gap:14px}
.workspace .product-card{padding:19px}
.workspace .product-card .product-icon{width:36px;height:36px;margin-bottom:15px}
.workspace .product-card h2{font-size:1.1rem;margin-bottom:7px}
.workspace .product-card>p{min-height:40px;font-size:.875rem}
.workspace .product-card-metric{margin:17px 0 13px;padding-top:14px;gap:6px}
.workspace .standalone{margin:15px 0}
.workspace .campaign-plan{padding:17px 20px;gap:30px;margin-bottom:16px}
.workspace .campaign-plan h2{font-size:1.12rem;margin-top:8px}
.workspace .campaign-plan p{margin-top:4px}
.workspace .check-row{padding:10px 0;margin:0 17px;gap:11px}
.workspace .check-row p{margin-top:4px}
.workspace .panel-actions{padding:15px 17px;gap:8px}
.workspace .channel{padding:15px 17px}
.workspace .channel p{margin-top:4px}
.workspace .source-intro{padding:19px;margin-bottom:16px}
.workspace .source-intro h2{font-size:1.2rem;margin:8px 0}
.workspace .methodology{padding:19px;margin-top:16px}
.workspace .methodology p{margin-top:9px}
.workspace .app-footer{padding:10px 24px 17px}
.dialog-head{padding:19px 21px}
.dialog-body{padding:19px 21px}
.detail-grid{gap:15px 20px}
.detail-grid span{margin-bottom:5px}
.dialog-body h3{margin:21px 0 11px}
.license-detail{padding:10px 12px;margin-bottom:7px}
.license-detail small{margin-top:4px}
.source-tags{gap:5px;margin-bottom:11px}
.sort-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:3px 0;background:none;color:inherit;font:inherit;font-weight:550;text-align:left;white-space:nowrap}
.sort-heading span{font-size:.85rem;color:#99aa9f}
th[aria-sort=ascending] .sort-heading,th[aria-sort=descending] .sort-heading{color:#276244}
th[aria-sort=ascending] .sort-heading span,th[aria-sort=descending] .sort-heading span{color:#276244}
.sort-heading:hover{color:#276244}
@media(max-width:760px){.workspace #content{padding:18px 13px}.workspace .topbar{height:auto;min-height:49px;padding:10px 14px}.workspace .page-heading h1{font-size:1.45rem}.workspace .metric{min-height:102px;padding:12px}.workspace .metrics{gap:9px}.workspace .campaign-callout{padding:15px;gap:14px}.workspace .campaign-plan{padding:15px;gap:17px}.workspace .chart{height:165px}.workspace .filters{padding:10px}.workspace .filters select{min-height:36px}.workspace .app-footer{padding:12px 15px}.sort-heading{min-height:27px}.workspace .icon-button{min-height:30px}}
/* Stripe uses the same compact table layout as the rest of the dashboard. */
.currency-picker{display:flex;align-items:center;gap:9px;font-size:.85rem;color:#6c8173}
.currency-picker select{padding:7px 10px;border:1px solid #dce5df;border-radius:6px;color:#315840;background:white;font:inherit}
.finance-strip{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:.8rem;margin:-3px 0 16px;color:#7c9081}
.finance-strip strong{font-weight:550;color:#476a52}.finance-strip a{margin-left:auto;color:#326744}
.workspace .metric .money-value{font-size:1.7rem;letter-spacing:-.6px;white-space:nowrap}
.finance-balances{display:flex;flex-wrap:wrap;gap:12px 27px;font-size:.8rem;color:#849589;margin:0 0 18px}
.finance-balances strong{color:#43624c;margin-left:7px;font-weight:550}
.finance-scroll{max-height:470px;overflow:auto}.finance-scroll thead{position:sticky;top:0;z-index:1}
.finance-section{margin-top:16px}.stripe-link{color:#416f50}.stripe-link:hover{text-decoration:underline}
.payment-product{max-width:300px;white-space:normal;min-width:180px}.payment-product .cell-sub{max-width:280px;overflow-wrap:anywhere}
@media(max-width:760px){.workspace .metric .money-value{font-size:1.35rem}.finance-strip{gap:10px;font-size:.75rem}.finance-strip a{margin-left:0}.finance-balances{gap:10px 17px}.finance-scroll{max-height:420px}}

.forecast-panel{margin:16px 0}.forecast-panel summary{cursor:pointer;color:var(--accent,#166b60);font-size:12px}.forecast-events{min-width:340px;padding:8px 0}.forecast-event{display:flex;gap:12px;align-items:start;padding:6px 0;border-bottom:1px solid #edf1f0}.forecast-event>div{flex:1}.forecast-event>strong{white-space:nowrap}.forecast-notes{padding:10px 14px}.forecast-notes>div{padding:5px 0}

/* Keep reading position and column widths stable during interactions. */
html{scrollbar-gutter:stable;overflow-anchor:none}
.table-wrap{overflow-anchor:none}
.forecast-panel table{table-layout:fixed;min-width:640px}
.forecast-panel th:nth-child(1){width:27%}.forecast-panel th:nth-child(2){width:25%}.forecast-panel th:nth-child(3){width:18%}.forecast-panel th:nth-child(4){width:30%}
.forecast-open{background:none;padding:0;color:var(--green);font-size:12px;text-align:left;line-height:1.5}
.forecast-dialog{width:min(780px,calc(100% - 32px));max-width:780px;max-height:80vh;overscroll-behavior:contain}
.forecast-dialog .dialog-body{padding:12px 20px}.forecast-dialog .forecast-event{padding:12px 0;white-space:normal}.forecast-dialog .forecast-event>div{min-width:0;overflow-wrap:anywhere}

.sync-status{min-height:38px;padding:10px 24px;font-size:12px;line-height:18px;color:#245c46;background:#eaf4ee;border-bottom:1px solid #d8e8de}.sync-status.sync-error{background:#fff2df;color:#8b4e17}

/* Compact survey distributions; native progress avoids inline styles under CSP. */
.survey-analytics{margin:18px 0 24px}.survey-section-heading h2{font-size:19px;margin:0 0 6px}.survey-section-heading p,.survey-context{font-size:12px;line-height:1.5;color:var(--muted,#687e7b);margin:5px 0 12px}.survey-analytics>h3{font-size:15px;margin:20px 0 10px}.survey-preference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.survey-preference .panel-head{padding:12px 15px}.survey-preference .panel-head h2{font-size:14px;line-height:1.4}.survey-preference .panel-head p{font-size:11px;margin:4px 0 0}.survey-bars{padding:6px 15px 10px;display:grid;gap:9px}.survey-bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;font-size:12px;line-height:1.4}.survey-bar-row>strong{white-space:nowrap;font-weight:600}.survey-bar-row small{font-weight:400;color:#58716a}.survey-bar-row progress{grid-column:1/-1;width:100%;height:5px;border:0;border-radius:3px;overflow:hidden;appearance:none;background:#edf2ef;color:#27866d}.survey-bar-row progress::-webkit-progress-bar{background:#edf2ef}.survey-bar-row progress::-webkit-progress-value{background:#27866d}.survey-bar-row progress::-moz-progress-bar{background:#27866d}.survey-preference .panel-note{font-size:11px;padding:9px 15px}@media(max-width:850px){.survey-preference-grid{grid-template-columns:1fr}}

/* Dense survey layout: keep labels, bars and values on a single row. */
.survey-metrics{gap:8px;margin-bottom:10px}.survey-metrics .metric{padding:10px 12px;min-height:0;gap:3px}.survey-metrics .metric strong{font-size:25px;margin:2px 0}.survey-metrics .metric small{font-size:11px}.survey-analytics{margin:10px 0 16px}.survey-section-heading h2{font-size:16px;margin-bottom:3px}.survey-section-heading p,.survey-context{margin:3px 0 7px;font-size:11px}.survey-analytics>h3{font-size:13px;margin:12px 0 6px}.survey-preference-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.survey-preference .panel-head{padding:8px 10px}.survey-preference .panel-head h2{font-size:12px}.survey-preference .panel-head p{margin-top:2px}.survey-bars{padding:7px 10px;gap:5px}.survey-bar-row{grid-template-columns:minmax(0,1fr) 48px 63px;gap:6px;align-items:center;font-size:11px;line-height:1.3}.survey-bar-row>span{grid-column:1;grid-row:1;overflow-wrap:anywhere}.survey-bar-row>strong{grid-column:3;grid-row:1;text-align:right;font-size:11px}.survey-bar-row progress{grid-column:2;grid-row:1;height:4px}.survey-preference .panel-note{padding:6px 10px;font-size:10px;line-height:1.4}@media(min-width:1450px){.survey-webinar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){.survey-preference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.survey-preference-grid{grid-template-columns:1fr}}
