.saas-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:6px 0 32px}.saas-heading h2{font:600 clamp(26px,2.6vw,38px)/1.18 var(--ks-ui);letter-spacing:-1.3px;color:var(--ks-fg);margin:10px 0}.saas-heading p{font-size:14px;color:var(--ks-fg-secondary);max-width:620px}.saas-heading .btnrow{flex-shrink:0;margin:6px 0}.saas-stats{display:grid;grid-template-columns:1.65fr repeat(3,1fr);gap:16px;margin:0 0 28px}.saas-stat{border:1px solid var(--ks-rule);background:var(--ks-bg-card);border-radius:16px;padding:25px;display:flex;flex-direction:column;gap:10px;min-width:0}.saas-stat>span{font-size:12px;font-weight:500;color:var(--ks-fg-secondary)}.saas-stat>strong{font-size:30px;line-height:1.25;font-weight:600;letter-spacing:-1px;color:var(--ks-fg);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.saas-stat small{font-size:12px;color:var(--ks-fg-secondary);line-height:1.6}.saas-stat.spending{background:#213d31;border-color:#213d31}.spending>span,.spending>small{color:#b8c7e0}.spending>strong{color:#fff}.saas-dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}.section-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:15px}.section-title h3{margin:0}.section-title a,.saas-inline-link{font-size:12px;color:var(--contract-violet);font-weight:500}.saas-inline-link{display:block;margin-top:18px}.renewal-row{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--ks-rule)}.renewal-row>span:nth-child(2){flex:1;min-width:0}.renewal-row strong{font-size:14px;font-weight:600}.renewal-row small{display:block;font-size:11px;color:var(--ks-fg-secondary);margin-top:4px}.renewal-due{font-size:12px;text-align:right;flex-shrink:0}.tool-monogram{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;font-size:17px;font-weight:600;background:var(--contract-violet-soft);color:var(--contract-violet)}.spend-row{display:block;padding:14px 0}.spend-row>span{display:flex;justify-content:space-between;gap:20px;font-size:13px}.spend-row b{font-size:12px;font-weight:500;white-space:nowrap}.spend-row i{display:block;height:6px;border-radius:6px;background:var(--ks-bg-sunk);margin-top:10px;overflow:hidden}.spend-row i:before{content:'';display:block;height:100%;width:var(--bar);background:var(--contract-violet);border-radius:6px}.saas-toolbar{display:flex;align-items:center;gap:14px;margin:22px 0}.saas-toolbar input{min-width:220px;max-width:430px;flex:1}.saas-toolbar>span{font-size:12px;color:var(--ks-fg-secondary);margin-left:auto}.saas-table-scroll{overflow:auto;border:1px solid var(--ks-rule);border-radius:14px;background:var(--ks-bg-card)}.saas-table{width:100%;border-collapse:collapse;min-width:1080px;font-size:12px}.saas-table th{text-align:left;padding:16px 15px;font-size:11px;font-weight:500;color:var(--ks-fg-secondary);background:var(--ks-bg-sunk);white-space:nowrap}.saas-table td{padding:20px 15px;border-top:1px solid var(--ks-rule);vertical-align:middle}.saas-table tr:hover td{background:color-mix(in srgb,var(--contract-violet-soft) 28%,var(--ks-bg-card))}.saas-tool{display:flex;align-items:center;gap:12px;min-width:150px;max-width:290px}.saas-tool strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.saas-table small{display:block;font-size:10.5px;color:var(--ks-fg-secondary);margin-top:5px;line-height:1.5}.saas-table .cost{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.renewal-chip,.saas-status{display:inline-block;padding:5px 9px;border-radius:6px;background:var(--ks-bg-sunk);font-size:10px;white-space:nowrap}.renewal-chip.auto,.saas-status.active{background:color-mix(in srgb,var(--ks-indicator-teal) 12%,var(--ks-bg-card));color:var(--ks-indicator-teal)}.saas-status.draft{color:var(--contract-violet);background:var(--contract-violet-soft)}.deadline-soon{color:var(--ks-accent);font-weight:600}.saas-empty{padding:40px 20px;text-align:center;color:var(--ks-fg-secondary)}.saas-empty>span{display:block;font-size:30px;color:var(--contract-violet);margin-bottom:14px}.saas-empty h3{font:600 17px var(--ks-ui);color:var(--ks-fg)}.saas-empty p{max-width:400px;margin:12px auto 20px;font-size:13px}.saas-footnote{font-size:12px;line-height:1.8;color:var(--ks-fg-secondary);margin:18px 0}.saas-loading{display:flex;align-items:center;justify-content:center;gap:18px;padding:100px 20px;color:var(--ks-fg-secondary)}.saas-settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;max-width:1100px}.saas-settings-grid p{font-size:13px;color:var(--ks-fg-secondary);margin:12px 0 20px}.saas-settings-grid h4{margin:28px 0 14px;font-size:14px}.saas-check{display:flex!important;gap:10px;align-items:center;font-size:13px!important;margin:15px 0!important}.saas-check input{width:17px;height:17px;accent-color:var(--contract-violet)}.reminder-schedule{display:flex;gap:10px;margin:24px 0}.reminder-schedule span{flex:1;border:1px solid var(--ks-rule);background:var(--ks-bg-sunk);border-radius:10px;padding:15px;text-align:center;font-size:22px;font-weight:600}.reminder-schedule small{display:block;font-size:10px;font-weight:400;color:var(--ks-fg-secondary)}.directory-numbers{display:flex;gap:45px;margin:22px 0}.directory-numbers strong{font-size:28px;font-weight:500}.directory-numbers small{display:block;font-size:12px;font-weight:400;color:var(--ks-fg-secondary)}.settings-link{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--ks-rule);font-size:13px}.settings-link:last-child{border:0}.saas-person-results{position:relative;z-index:2;background:var(--ks-bg-card);box-shadow:0 6px 20px #0001;border-radius:10px;max-height:200px;overflow:auto}.saas-person-results button{display:block;width:100%;padding:10px;text-align:left}.saas-person-results button:hover{background:var(--ks-bg-sunk)}.saas-person-results small{display:block}.saas-result{font-size:13px;margin-top:15px}.saas-result.error{color:var(--ks-accent)}.saas-key-form{max-width:820px}.saas-key-form label>input,.saas-key-form label>textarea{display:block;width:100%;margin-top:8px}.saas-key-form label>small{font-weight:400;font-size:11px}.key-mask{font-family:var(--ks-mono);letter-spacing:2px}.revealed-key{margin-top:20px;border:1px solid var(--ks-rule);padding:20px;background:var(--ks-bg-sunk);font-family:var(--ks-mono);white-space:pre-wrap;overflow-wrap:anywhere}.report-intro{display:flex;justify-content:space-between;margin:20px 0}.report-intro span{font-size:12px;color:var(--ks-fg-secondary)}#reportBody .saas-stats{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.review-essentials{margin:25px 0 10px}.review-essentials>h4{font-size:13px;margin-bottom:18px}.review-summary-compact{background:var(--contract-violet-soft);border-radius:12px;padding:18px;margin:22px 0;font-size:13px}.review-summary-compact p{margin-top:8px}.review-summary-compact details{margin-top:10px}.review-save{position:sticky;bottom:0;background:var(--ks-bg-card);padding:18px 0 0;border-top:1px solid var(--ks-rule);z-index:3}.vendor-terms-panel{padding:18px;margin-top:20px;background:var(--ks-bg-sunk);border-radius:12px;font-size:12px}.vendor-terms-panel strong{display:block;margin-bottom:8px}.vendor-terms-panel p{margin:8px 0}.vendor-terms-panel input{width:100%;margin:8px 0}.vendor-terms-panel blockquote{padding:10px;border-left:2px solid var(--contract-violet);margin:12px 0}.assignment-groups{margin:20px 0}.assignment-groups select{width:100%}.saas-settings-grid select[multiple]{min-height:120px}
@media(max-width:1150px){.saas-stats{grid-template-columns:repeat(2,1fr)}.saas-heading{flex-direction:column}.saas-dashboard-grid{grid-template-columns:1fr}.saas-settings-grid{grid-template-columns:1fr}}
@media(max-width:640px){.saas-stats{gap:10px}.saas-stat{padding:18px}.saas-stat>strong{font-size:25px}.saas-heading h2{font-size:27px}.saas-toolbar{flex-wrap:wrap}.saas-toolbar input{max-width:none;flex-basis:100%;min-width:0}.renewal-row{flex-wrap:wrap}.renewal-due{text-align:left;padding-left:50px;width:100%}.saas-heading .btnrow{flex-wrap:wrap}.saas-key-form .review-fields{grid-template-columns:1fr}.saas-table{min-width:1050px}.report-intro{flex-direction:column}}
@media print{body{background:#fff!important;color:#182333!important}#topbar,.spacebar,.mainnav,#claimBox,#aiBox,.no-print,.saas-heading>.btnrow{display:none!important}#layout.on{display:block!important}#layout>.view:not(.on){display:none!important}.wrap{max-width:none!important;padding:0!important}.saas-table-scroll{overflow:visible}.saas-table{min-width:0;font-size:9px}.saas-table th,.saas-table td{padding:8px 5px}.tool-monogram{display:none}.saas-table small{font-size:8px}.saas-tool{min-width:0}.saas-heading h2{font-size:25px}.saas-stat{break-inside:avoid}.saas-table tr{break-inside:avoid}a{color:inherit!important}}

.intake-form:not(.show-evidence) .field-evidence{display:none}.review-move{margin:12px 0;font-size:12px;color:var(--ks-fg-secondary)}.review-move>summary{cursor:pointer}.intake-form .review-essentials{margin-top:14px}.review-save{padding-bottom:16px}.intake-form .review-fields{row-gap:14px}.intake-form .review-essentials>h4{margin-bottom:12px}

.tabs button[hidden]{display:none!important}.saas-heading [hidden]{display:none!important}
.review-fields>.wide{grid-column:1/-1}.review-additional{margin:16px 0}.review-additional>summary{font-size:12px;color:var(--ks-fg-secondary);cursor:pointer}.review-additional>[data-extra-fields]{padding-top:20px}.intake-form .saas-check{flex-wrap:wrap}.intake-form .saas-check small{font-size:11px;color:var(--ks-fg-secondary)}

.saas-table-keys{min-width:690px}
@media print{html{--ks-bg:#fff!important;--ks-bg-card:#fff!important;--ks-bg-sunk:#f2f4f7!important;--ks-fg:#182333!important;--ks-fg-secondary:#526074!important;--ks-rule:#d4dae3!important;--contract-violet:#514589!important;--contract-violet-soft:#f0ecfa!important}.scard,.saas-stat{box-shadow:none!important}.saas-table-keys{min-width:0}}

/* Keep financial figures readable on narrow phones; never split the amount across cards. */
@media(max-width:480px){.saas-stats{grid-template-columns:1fr}.saas-stat>strong{overflow-wrap:normal;word-break:normal}}

/* contract type tag in the portfolio table (0.13.0) */
.saas-type{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--ks-surface-muted,rgba(0,0,0,.05));font-size:12px;white-space:nowrap;color:var(--ks-text-muted,inherit)}
.saas-toolbar select#saasType{max-width:220px}
.saas-types{margin-top:16px}

/* 0.18.0 · one headline in the reporting currency, discounts, rate settings */
.saas-stat-lines{display:grid;gap:4px;margin:10px 0 6px;font-size:13px}
.saas-stat-lines div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.saas-stat-lines em{font-style:normal;opacity:.75;font-size:12px}
.saas-stat.spending .saas-stat-lines span:last-child{opacity:.85;text-align:right}
.saas-discount{display:block;color:var(--ks-indicator-teal);font-size:12px}
.saas-reporting label{display:flex;align-items:center;gap:8px;margin:8px 0}
.saas-reporting input{max-width:120px}
