@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#20332f;--muted:#7b8884;--teal:#145c4e;--orange:#e27b4a;--line:#e6ebe7;--bg:#f4f6f3;--side:#152e28}*{box-sizing:border-box}body{margin:0;font:14px 'Manrope','IBM Plex Sans KR',sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}a{color:var(--teal);text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e6aa76;outline-offset:3px}[hidden]{display:none!important}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:var(--side);color:#e5efe9;padding:39px 23px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:22px;letter-spacing:1px;font-weight:800;color:#fff}.brand-icon{display:grid;place-items:center;width:39px;height:39px;border:1px solid #60756b;border-radius:10px;color:#e8b88e;font-size:26px}.brand-sub{display:block;font-size:9px;color:#94aea1;letter-spacing:1.5px;margin-top:2px}.nav-label{margin:62px 12px 17px;color:#829e90;font-size:9px;letter-spacing:2px}.nav{display:flex;align-items:center;width:100%;background:none;border:0;color:#a4b8ad;padding:15px 12px;border-radius:7px;margin:5px 0;text-align:left;font-size:12px;gap:11px}.nav>span{font-size:19px}.nav small{margin-left:auto;color:#7c9b8b;font-size:10px}.nav.active{background:#2a483d;color:#fff}.nav.active>span{color:#efb38e}.nav:hover{background:#29433a}.side-bottom{margin-top:auto;padding:22px 10px 0;font-size:8px;letter-spacing:1px;color:#a1b4a7}.dot,.reference-pill i{display:inline-block;width:6px;height:6px;border-radius:100%;background:#93bc8b;margin-right:6px}.side-bottom p{font-size:12px;line-height:1.9;letter-spacing:0;color:#829e90}.side-version{display:block;font-size:8px;border-top:1px solid #345044;padding-top:18px;margin-top:25px;color:#6d8b7a}.shell{margin-left:236px}.topbar{height:75px;background:#fff;border-bottom:1px solid var(--line);padding:0 46px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.topbar strong{font-weight:500;color:#4e6159}.slash{margin:0 12px;color:#bec7c0}.reference-pill{border:1px solid var(--line);border-radius:20px;padding:7px 13px;font-size:10px}.reference-pill i{width:5px;height:5px;background:#739d7b}main{max-width:1600px;margin:auto;padding:43px 46px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:27px}.eyebrow{color:#84928a;font-size:9px;letter-spacing:2px;font-weight:700}h1{font-size:31px;letter-spacing:-1.2px;line-height:1.4;font-weight:600;margin:12px 0 9px}h1>span{color:var(--orange)}p{line-height:1.8}.page-heading p{color:var(--muted);font-size:12px;margin:0}.button{border:1px solid #dce4dd;background:white;color:#43584c;padding:11px 17px;border-radius:6px;font-size:11px;font-weight:600;transition:background .15s;white-space:nowrap}.button:hover{background:#edf2eb}.button.primary{background:var(--teal);border-color:var(--teal);color:#fff}.button.primary:hover{background:#0c493e}.button.subtle{background:none;border-color:#dce4dd}.intro-strip{background:#eaf0e7;display:flex;align-items:center;gap:14px;padding:19px 23px;border-radius:8px;margin-bottom:28px;border:1px solid #e2e9dc}.intro-icon{background:#dce6d5;color:#50734c;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:22px}.intro-strip strong{font-size:12px;font-weight:600}.intro-strip p{font-size:10px;color:#81917b;margin:4px 0 0}.tag{margin-left:auto;font-size:8px;letter-spacing:1px;border:1px solid #cbd7c3;padding:5px 8px;color:#829176;border-radius:3px}.workspace-grid{display:grid;grid-template-columns:minmax(340px,1fr) minmax(390px,1.16fr);gap:27px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:9px;padding:22px;margin-bottom:18px}.card-heading{display:flex;align-items:center;gap:10px;margin-bottom:22px}.card-heading h2{font-size:14px;font-weight:600;margin:0;letter-spacing:-.3px}.step{background:#f3f4ef;color:#8a9683;border-radius:4px;padding:5px 6px;font-size:9px;font-weight:600}.caption{margin-left:auto;letter-spacing:1.3px;font-size:8px;color:#9ca69b}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 15px}label{display:flex;flex-direction:column;gap:8px;font-size:10px;color:#63776a;font-weight:500;min-width:0}.wide{grid-column:1/-1}input:not([type=checkbox]),select{width:100%;border:1px solid #e0e6de;border-radius:5px;background:#fcfdfb;min-height:39px;padding:9px 11px;color:#354f40;font-size:11px;outline:none}input:focus,select:focus{border-color:#6a9681;box-shadow:0 0 0 2px #e7f0e9}select{padding-right:17px}.field-note{font-size:10px;color:#8b968b;line-height:1.8;margin:16px 0 0;overflow-wrap:anywhere}.user-head,.user-row{display:grid;grid-template-columns:1.45fr 1fr 1fr;align-items:center;gap:12px}.user-head{font-size:9px;color:#9ba79c;margin-bottom:10px}.user-row{margin-top:11px}.user-row>label{display:block;font-size:11px;color:#425b49}.user-row>label small{display:block;font-size:8px;color:#9ba79c;margin-top:3px}.suffix-field{position:relative}.suffix-field input{padding-right:26px!important}.suffix-field>span{position:absolute;right:10px;top:13px;font-size:9px;color:#a1ac9f}.active-summary{border-top:1px solid var(--line);padding-top:17px;margin-top:19px;display:flex;justify-content:space-between;align-items:center;color:#8b998c;font-size:10px}.active-summary strong{color:var(--teal);font-size:20px}.active-summary small{font-size:10px;font-weight:400}.toggle-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:17px;margin-top:17px;border-top:1px solid var(--line)}.toggle-row strong{display:block;font-size:11px;color:#4e6554}.toggle-row small{display:block;font-size:9px;color:#98a191;margin-top:5px;font-weight:400}.toggle-row input{appearance:none;width:32px;height:18px;min-height:18px;border-radius:20px;background:#dce3da;cursor:pointer;position:relative;flex-shrink:0}.toggle-row input:before{content:'';width:12px;height:12px;position:absolute;left:3px;top:3px;background:white;border-radius:50%;transition:left .15s}.toggle-row input:checked{background:var(--teal)}.toggle-row input:checked:before{left:17px}.calculate{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 22px!important}.calculate span{font-size:19px}.results-heading{display:flex;align-items:center;justify-content:space-between;margin:3px 0 21px}.results-heading h2{font-size:19px;font-weight:600;letter-spacing:-.6px;margin:7px 0 0}.results-heading .eyebrow{font-size:8px}.status{color:#b88048;background:#f6eee2;border:1px solid #efe4ce;border-radius:20px;padding:6px 10px;font-size:9px}.project-result{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.project-result h3{font-size:11px;margin:0;font-weight:500;overflow-wrap:anywhere}.project-result>span{font-size:8px;color:#96a08e;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:20px}.metrics article{border:1px solid #dce6d9;background:#edf2e9;border-radius:8px;padding:20px 18px}.metrics article:first-child{background:#e5eee3;border-color:#d2dfce}.metrics article>span{font-size:10px;color:#7f927b}.metrics strong{display:block;font-size:36px;line-height:1.4;letter-spacing:-1px;font-weight:500;color:#254e39;margin:7px 0}.metrics small{font-size:8px;color:#97a18e}.table-wrap{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%}th{text-align:left;font-weight:500;font-size:9px;color:#8c998a;background:#f7f9f4}th,td{padding:13px 10px;border-bottom:1px solid #edf0e9}th:first-child,td:first-child{padding-left:0}td{font-size:12px;color:#466045}.resource-table th:not(:first-child),.resource-table td:not(:first-child){text-align:right}.resource-table th{background:white;padding-top:0;padding-bottom:12px}.resource-table td{padding-top:17px;padding-bottom:17px}.tier-name{font-size:11px;font-weight:600;color:#4b624a}.tier-name small{display:block;font-size:8px;font-weight:400;color:#9da693;margin-top:4px}.tier-badge{display:inline-grid;place-items:center;color:#84967d;background:#f0f4e9;border:1px solid #e3ead9;width:29px;height:29px;margin-right:10px;border-radius:6px;font-size:9px;vertical-align:middle;float:left}.server-card .card-heading{margin-bottom:20px}.storage-card{background:#fff}.storage-total{display:flex;align-items:baseline;gap:12px}.storage-total strong{font-size:27px;font-weight:500;letter-spacing:-1px}.storage-total>span{font-size:9px;color:#97a18d}.storage-bar{height:9px;display:flex;background:#dce6d0;border-radius:10px;overflow:hidden;margin:18px 0}.storage-bar>div{background:#65865a;height:100%;min-width:0}.storage-legend{display:flex;gap:25px;font-size:9px;color:#92a086;align-items:center}.storage-legend i{width:6px;height:6px;display:inline-block;background:#65865a;margin-right:6px;border-radius:1px}.storage-legend span:nth-child(2) i{background:#dce6d0}.storage-legend b{font-weight:500;color:#53684a;margin-left:7px}.assumptions{background:#fcf9f2;border-color:#eee6d6}.card summary{cursor:pointer;display:flex;justify-content:space-between;font-size:11px;font-weight:600;list-style:none}.card summary:after{content:'＋';color:#9b9f8c;margin-left:10px}.card[open] summary:after{content:'−'}.card summary>span{font-size:9px;color:#b89762;margin-left:auto}.assumptions ul{padding-left:14px;color:#9f8b68;font-size:10px;line-height:1.9;margin-bottom:0}.assumptions li{margin-bottom:7px}.result-actions{display:flex;gap:8px;margin:22px 0}.result-actions .button{flex:1;padding:12px 10px;font-size:10px}.detail-table{margin-top:18px;min-width:510px}.detail-table td{font-size:9px;line-height:1.7}.detail-table th{font-size:8px}.detail-table small{font-size:8px;color:#b68b5c}.error{color:#a53c2e;font-size:11px;white-space:pre-line;padding:13px;background:#fbefeb;margin-top:10px;border-radius:5px}.library-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}.source-top{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px}.source-top a{font-size:10px;white-space:nowrap}.source-table{font-size:10px;min-width:700px}.source-table td{font-size:10px;line-height:1.7;white-space:pre-wrap;min-width:100px;max-width:400px;overflow-wrap:anywhere;vertical-align:top;padding:12px}.source-table td:first-child{width:30px;min-width:30px;color:#a5ad9a;font-size:9px}.source-sheet{margin-top:24px}.source-sheet>summary{background:#f2f5ed;padding:12px}.empty{padding:50px;text-align:center;background:white;border:1px dashed #d9e1d3;border-radius:8px;color:#89977e;line-height:2}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.method-grid .card{margin:0;padding:30px}.method-grid h2{font-size:18px;margin-top:20px}.method-grid p{font-size:12px;color:#84917b;line-height:2}.formula{background:#f5f7f1;padding:17px;border-radius:5px;font-size:10px!important;line-height:2.2!important}.saved-card h3{margin:0;font-size:17px}.saved-card>div{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.saved-card p{color:#829079;font-size:11px}.comparison{margin-bottom:20px;overflow-x:auto}.comparison th,.comparison td{padding:14px;font-size:11px;white-space:nowrap}.import-label{display:inline-flex;cursor:pointer;margin-top:20px}.save-stat{font-size:10px;background:#f0f4eb;border-radius:4px;padding:6px 10px;color:#5f7655}footer{display:flex;justify-content:space-between;padding:27px 0;border-top:1px solid #e1e7da;margin-top:45px;color:#9ea894;font-size:8px;letter-spacing:.5px}footer b{margin:0 7px;color:#bfccc0}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#1b4936;color:white;border-radius:7px;padding:14px 24px;box-shadow:0 7px 30px #0002;font-size:12px;z-index:10;max-width:90vw}.dirty .status{background:#f8e9df;color:#b36a42}.dirty .metrics{opacity:.65}@media(min-width:1550px){main{padding-top:50px}.workspace-grid{gap:35px}.card{padding:25px}}@media(max-width:1180px){.sidebar{width:190px;padding:30px 15px}.shell{margin-left:190px}main{padding:30px 24px 0}.topbar{padding:0 24px}.workspace-grid{gap:18px;grid-template-columns:minmax(310px,1fr) minmax(350px,1.1fr)}.card{padding:18px}.caption{font-size:7px}.metrics article{padding:17px 13px}.metrics strong{font-size:30px}.project-result{display:block}.project-result>span{display:block;margin-top:7px}.user-head,.user-row{gap:8px}.result-actions{flex-wrap:wrap}.result-actions .button{min-width:90px}}@media(max-width:980px){.sidebar{width:170px}.shell{margin-left:170px}.brand{font-size:18px}.brand-sub{font-size:7px}.brand-icon{width:30px;height:30px}.nav{font-size:10px;padding:13px 8px;gap:7px}.nav small{display:none}.workspace-grid{grid-template-columns:1fr}.result-column{margin-top:15px}.metrics strong{font-size:37px}.project-result{display:flex}.method-grid{grid-template-columns:1fr}h1{font-size:27px}.tag{display:none}}@media(max-width:640px){.sidebar{position:static;width:auto;padding:18px 20px 0}.brand{font-size:19px}.nav-label,.side-bottom{display:none}.sidebar nav{display:flex;margin-top:18px;overflow-x:auto;gap:6px}.nav{width:auto;flex-shrink:0;font-size:10px;padding:10px 9px;border-radius:5px 5px 0 0;margin:0}.nav>span{display:none}.shell{margin:0}.topbar{height:50px;padding:0 20px;font-size:9px}.reference-pill{font-size:8px;padding:5px 8px}main{padding:27px 18px 0}.eyebrow{font-size:8px}h1{font-size:24px;letter-spacing:-1px}.page-heading{align-items:flex-start;gap:7px}.page-heading .button{font-size:9px;padding:8px}.intro-strip{padding:15px;gap:10px}.intro-strip strong{font-size:10px}.intro-strip p{font-size:9px}.card{padding:19px}.fields{gap:17px 12px}.metrics{gap:8px}.metrics article{padding:16px 12px}.metrics strong{font-size:30px}.metrics small{font-size:7px}.metrics article>span{font-size:9px}.project-result{display:block}.result-actions{gap:6px}.library-toolbar{grid-template-columns:1fr}.source-top{display:block}.source-top a{display:block;margin-top:10px}.storage-total{gap:8px}.storage-total>span{font-size:8px}footer>span:last-child{display:none}.user-head,.user-row{grid-template-columns:1.3fr 1fr 1fr}.user-row>label{font-size:10px}.method-grid .card{padding:23px}.storage-legend{gap:18px}.resource-table th,.resource-table td{font-size:10px;padding-right:5px}.tier-name{font-size:10px}.tier-badge{width:25px;height:25px;margin-right:7px}}
@media print{.sidebar,.topbar,.input-column,.result-actions,.page-heading>.button,.intro-strip,#toast,footer{display:none!important}.shell{margin:0}main{padding:0;max-width:none}.workspace-grid{display:block}.result-column{width:100%}.metrics article{break-inside:avoid}.card{break-inside:avoid;box-shadow:none}.tab[hidden]{display:none!important}.project-result h3{font-size:16px}body{background:white;font-size:12px}.card{padding:14px}.card summary:after{display:none}}
.reference-caption{font-size:10px;color:#839280;line-height:1.8;margin:0 0 16px}.reference-brief .reference-item{padding:12px 0;border-bottom:1px solid var(--line)}.reference-item>span{font-size:10px;color:#3a654d;font-weight:700}.reference-item>p{white-space:pre-line;font-size:11px;line-height:1.85;margin:8px 0;color:#687b64}.reference-brief .reference-item>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.reference-item details{font-size:10px;color:#839477;margin-top:6px}.reference-item details>summary{font-size:9px;font-weight:400}.reference-item details>p{white-space:pre-line;font-size:10px;line-height:1.85}.reference-inline .button{margin-top:18px}.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.reference-grid .reference-item{background:#f7f9f3;padding:17px;border-radius:6px}.reference-grid .reference-item p{overflow-wrap:anywhere}.reference-grid .reference-item details p{overflow-wrap:anywhere}.extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.extra-grid>div>span{font-size:9px;color:#8b9980}.extra-grid strong{display:block;font-size:20px;font-weight:500;margin:8px 0}.extra-grid small{font-size:9px;color:#8b9980;line-height:1.7}.storage-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.storage-breakdown>div>span{display:block;color:#8c9b80;font-size:9px}.storage-breakdown strong{display:block;font-size:13px;font-weight:500;margin-top:6px}.source-links{display:grid;gap:10px;margin:18px 0}.source-links a,.source-links span{font-size:10px;line-height:1.8;color:#668357}.method-grid{margin-bottom:20px}#method-content h2{font-size:17px}#method-content .card>p{color:#7d8d72;line-height:1.9;font-size:11px}#vis-fields,#dispatcher-fields,#ai-fields{padding-top:20px;border-top:1px solid var(--line);margin-top:22px}.resource-table td{white-space:nowrap}.tier-name{white-space:normal}.resource-table small{font-size:8px}#form-error{overflow-wrap:anywhere}@media(max-width:640px){.reference-grid{grid-template-columns:1fr}.storage-breakdown{grid-template-columns:repeat(2,1fr)}.extra-grid strong{font-size:17px}.reference-grid .reference-item{padding:14px}#tab-method .detail-table{min-width:510px}.reference-brief .reference-item>p{font-size:10px}.fields label{font-size:10px}}

/* Product switch, in-place matrix version picker, and Polarion planning workspace */
.product-switch{display:flex;gap:5px;margin-top:28px;padding:4px;background:#213d33;border:1px solid #3a5548;border-radius:8px}
.product-choice{flex:1;background:transparent;border:0;border-radius:5px;color:#a9c0ae;min-width:0;font-size:11px;padding:11px 6px;font-weight:700}
.product-choice.active{background:#dce9d9;color:#204d39}
.product-choice:hover:not(.active){background:#355646;color:white}
.sidebar .nav-label{margin-top:28px}
.matrix-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.matrix-picker{min-width:185px;font-size:10px}
.matrix-picker select{min-width:185px;max-width:240px;background:white;border-color:#cedfce}
.matrix-actions>.button{height:39px}
.read-only-field{display:flex;align-items:center;min-height:39px;padding:10px;border-radius:5px;border:1px solid #e0e6de;background:#f4f7f2;font-size:11px;color:#65836f}
.polarion-workspace .metrics article:nth-child(1){background:#e3ece8}
#tab-polarion .reference-grid{grid-template-columns:1fr 1fr}
#tab-polarion .reference-grid .reference-item{padding:13px}
#tab-polarion .reference-item p{margin:5px 0;font-size:10px}
#tab-polarion .result-column .field-note{line-height:1.7}
#pol-result-status.is-unsupported{background:#fff1e7;color:#a65e35}
.polarion-saved-list{display:grid;gap:8px}
.polarion-scenario{border:1px solid #e1e8df;border-radius:7px;background:#fafcf8;padding:11px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.polarion-scenario strong{font-size:11px;display:block;overflow-wrap:anywhere}
.polarion-scenario small{display:block;margin-top:5px;font-size:9px;color:#859384}
.polarion-scenario>div:last-child{display:flex;gap:5px;flex-shrink:0}
.polarion-scenario .button{padding:7px 10px;font-size:9px}
.small-empty{padding:20px}
#pol-evidence p{margin:0}
@media(max-width:640px){
 .product-switch{margin-top:13px;max-width:310px}
 .product-choice{padding:9px}
 .sidebar nav{margin-top:8px}
 .sidebar .nav-label{display:none}
 .matrix-actions{align-items:flex-start;flex-direction:column;width:100%}
 .matrix-picker{min-width:0;width:100%}
 .matrix-picker select{max-width:none;min-width:0}
 #tab-matrix .page-heading{flex-direction:column}
 #tab-polarion .reference-grid{grid-template-columns:1fr}
 #tab-polarion .metrics strong{font-size:27px}
 #tab-polarion .storage-breakdown{grid-template-columns:1fr 1fr}
 .polarion-scenario{align-items:flex-start;flex-wrap:wrap}
}
@media print{
 .product-switch,#pol-save,#pol-csv,#pol-print,.polarion-saved-list{display:none!important}
 #tab-polarion .result-column{display:block}
}

/* Site-wide informational disclaimer above the workspace header. */
.sizing-disclaimer{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:11px 22px;background:#f8f2e7;border-bottom:1px solid #e7d8bb;color:#725632;font-size:11px;line-height:1.65;text-align:center}
.sizing-disclaimer strong{font-weight:700;color:#68471b;white-space:nowrap}
@media(max-width:640px){.sizing-disclaimer{padding:10px 16px;font-size:10px;gap:5px}}
@media print{.sizing-disclaimer{display:none!important}}

/* Optional Siemens AI review — separate from deterministic capacity results. */
.ai-review-card{border-color:#d5e2db;background:linear-gradient(180deg,#fbfdfb,#fff 70%)}
.ai-review-card .card-heading{margin-bottom:12px}
.ai-review-card .field-note{margin:9px 0 13px}
.ai-review-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.ai-access-code{flex:1;min-width:215px}
.ai-access-code input{font:inherit}
.ai-review-controls button{flex-shrink:0;min-height:39px}
.ai-review-controls button:disabled{opacity:.55;cursor:not-allowed}
.ai-review-status{font-size:10px;color:#657f70;line-height:1.8;margin:14px 0 0}
.ai-review-status.ai-error{color:#a34a35}
.ai-review-result{margin-top:18px;border-top:1px solid #e7ece8;padding-top:17px}
.ai-review-result h3{font-size:12px;font-weight:700;margin:0 0 12px}
.ai-review-result h3 small{font-size:9px;font-weight:400;color:#89988b;margin-left:8px}
.ai-review-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:480px;overflow-y:auto;border:1px solid #e3ebe3;background:#f6f9f6;padding:17px;border-radius:7px;color:#385247;font-size:11px;line-height:2}
@media(max-width:640px){.ai-review-controls{display:block}.ai-review-controls button{width:100%;margin-top:10px}.ai-review-text{font-size:10px}}
@media print{.ai-review-controls,.ai-review-status{display:none!important}.ai-review-text{max-height:none;overflow:visible}}

/* Siemens AI chat experience */
.ai-chat-card .card-heading{margin-bottom:10px}
.ai-chat-card .field-note{margin:8px 0 14px}
.ai-chat-log{display:flex;flex-direction:column;gap:12px;min-height:205px;max-height:425px;overflow-y:auto;border:1px solid #e0e9e2;border-radius:9px;padding:17px;background:#fafcf9;overscroll-behavior:contain}
.ai-chat-empty{margin:auto;color:#829688;font-size:12px;text-align:center;line-height:2}
.ai-chat-empty small{display:block;font-size:10px;color:#9aaa9c;margin-top:7px}
.ai-chat-bubble{display:flex;flex-direction:column;gap:6px;max-width:89%;border:1px solid #e1e9e1;background:#fff;padding:11px 14px;border-radius:12px 12px 12px 3px;align-self:flex-start;overflow-wrap:anywhere}
.ai-chat-bubble strong{font-size:10px;color:#4b7160}
.ai-chat-bubble-text{white-space:pre-wrap;line-height:1.85;font-size:12px;color:#385046}
.ai-chat-user{background:#e6eee8;border-color:#d1e1d8;align-self:flex-end;border-radius:12px 12px 3px 12px}
.ai-chat-user strong{color:#315f4b}
.ai-chat-error{border-color:#e5c4bb;background:#fff7f4}
.ai-chat-error .ai-chat-bubble-text{color:#9d4c3c}
.ai-chat-form{margin-top:15px}
.ai-chat-form label{font-size:11px;gap:7px}
.ai-chat-form textarea{width:100%;min-height:76px;resize:vertical;border-radius:8px;border:1px solid #d7e1d9;padding:12px 13px;font:inherit;font-size:12px;line-height:1.6;color:#273e35;background:#fff;outline:none}
.ai-chat-form textarea:focus{border-color:#709b83;box-shadow:0 0 0 2px #e5f0e8}
.ai-chat-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
.ai-chat-actions .button{font-size:11px}
.ai-chat-actions button:disabled{opacity:.5;cursor:not-allowed}
.ai-chat-card .ai-review-status{font-size:10px;margin-top:10px}
.ai-chat-disclaimer{color:#929c90;font-size:10px;margin-top:8px}
@media(max-width:640px){.ai-chat-log{min-height:185px;max-height:360px;padding:12px}.ai-chat-bubble{max-width:96%}.ai-chat-bubble-text{font-size:11px}.ai-chat-actions{justify-content:space-between}}
@media print{.ai-chat-form,.ai-chat-actions{display:none!important}.ai-chat-log{max-height:none;overflow:visible}}

.ai-chat-heading{font-weight:700;font-size:12px;margin:7px 0 3px;color:#254f3c}

/* Moving response-writing indicator. Only shown while an AI request is pending. */
.ai-chat-pending{background:#f9fcf9;border-color:#c7e0d0;animation:ai-chat-pending-glow 2.4s ease-in-out infinite}
.ai-chat-pending .ai-chat-bubble-text{display:flex;align-items:center;flex-wrap:wrap;column-gap:10px;row-gap:5px;white-space:normal;min-height:27px}
.ai-typing-dots{display:inline-flex;align-items:center;gap:4px;min-width:32px;height:16px}
.ai-typing-dot{display:block;width:7px;height:7px;background:#367b5c;border-radius:50%;animation:ai-chat-dot-bounce 1.2s ease-in-out infinite}
.ai-typing-dot:nth-child(2){animation-delay:.15s}
.ai-typing-dot:nth-child(3){animation-delay:.3s}
.ai-typing-label{color:#466954;font-weight:600;font-size:11px}
.ai-typing-elapsed{font-size:10px;color:#82978b;font-variant-numeric:tabular-nums;white-space:nowrap}
@keyframes ai-chat-dot-bounce{0%,65%,100%{transform:translateY(0);opacity:.38}30%{transform:translateY(-5px);opacity:1}}
@keyframes ai-chat-pending-glow{0%,100%{border-color:#dce9df}50%{border-color:#a9d4bb}}
@media(prefers-reduced-motion:reduce){.ai-chat-pending,.ai-typing-dot{animation:none!important}.ai-typing-dot{opacity:.85}}
