/* PUTTY 2.9.1 – Simple Workspace: airy, practical, role-specific. */
:root{--sw-ink:#1c2738;--sw-sub:#657487;--sw-border:#e4e9ef;--sw-bg:#f6f8fb;--sw-blue:#285f9e}
body.putty-v23.putty-v24{background:var(--sw-bg);color:var(--sw-ink)}
.v23-appbar{background:#fff;border-bottom:1px solid var(--sw-border);box-shadow:0 1px 8px rgba(15,31,54,.025)}
.v23-topnav a{border-radius:9px;transition:background .14s ease;color:#526277}
.v23-topnav a:hover,.v23-topnav a.active{background:#edf3f9;color:#1d517f}
.v23-main{max-width:1300px;margin:0 auto;padding:24px 32px 65px}
.v23-pagebar{margin-bottom:23px}
.v23-pagebar h1{font-size:1.23rem;letter-spacing:-.015em}
.sw-workspace,.sw-page{max-width:1080px;margin:0 auto 50px}
.sw-welcome{background:#fff;border:1px solid var(--sw-border);border-radius:18px;padding:29px 33px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.sw-eyebrow{font-size:.71rem;font-weight:700;letter-spacing:.12em;color:#5680a6}
.sw-welcome h2,.sw-page h2,.sw-project-head h2{margin:9px 0 8px;color:#15263b;font-size:clamp(1.45rem,2vw,2rem);line-height:1.2;letter-spacing:-.035em}
.sw-welcome p,.sw-page-actions p,.sw-project-head p{margin:0;color:var(--sw-sub);max-width:700px;line-height:1.55}
.sw-date{font-size:.82rem;color:#8795a4;white-space:nowrap}
.sw-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0}
.sw-action{background:#fff;border:1px solid var(--sw-border);border-radius:14px;padding:23px 18px;text-decoration:none!important;display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-height:116px;position:relative;color:var(--sw-ink)!important;transition:box-shadow .15s,border-color .15s,transform .15s}
.sw-action:hover{border-color:#a9bfd7;box-shadow:0 10px 28px rgba(34,65,101,.07);transform:translateY(-2px)}
.sw-action-icon{display:grid;place-items:center;width:39px;height:39px;background:#edf4fc;border-radius:11px;font-size:1.35rem;color:var(--sw-blue)}
.sw-action strong{font-size:.94rem;font-weight:650}.sw-arr{position:absolute;right:17px;top:19px;color:#93a0af;font-size:1.25rem}
.sw-panel{background:#fff;border:1px solid var(--sw-border);border-radius:16px;padding:23px 27px;margin:16px 0;overflow:hidden}
.sw-panel-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}
.sw-panel-title h3{margin:0;font-size:1.06rem;color:var(--sw-ink)}
.sw-panel-title a{font-size:.85rem;text-decoration:none;color:var(--sw-blue);font-weight:650}
.sw-panel-title span{font-size:.78rem;color:var(--sw-sub)}
.sw-list-row,.sw-offer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 4px;border-top:1px solid #edf0f4;color:var(--sw-ink);text-decoration:none!important}
.sw-list-row:hover,.sw-offer:hover{background:#f8fafc}.sw-list-row>span:first-child,.sw-offer>span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.sw-list-row b,.sw-offer b{font-weight:650;overflow-wrap:anywhere}.sw-list-row small,.sw-offer small{font-size:.79rem;color:var(--sw-sub);line-height:1.4}
.sw-list-row>strong,.sw-offer>strong{white-space:nowrap;font-size:.92rem;color:#264669}
.sw-empty{color:#7c8997;padding:20px 0;margin:0}.sw-page-actions{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:5px 0 20px}
.sw-page-actions h2{margin-top:0}.sw-buttons{display:flex;gap:10px;flex-wrap:wrap}
.sw-page-actions .btn,.sw-buttons .btn{white-space:nowrap}
.sw-tabs{display:flex;gap:8px;margin:17px 0 18px;flex-wrap:wrap}
.sw-tabs a{padding:9px 16px;border-radius:9px;text-decoration:none!important;color:#5f7184;font-weight:600;border:1px solid transparent;font-size:.9rem}
.sw-tabs a.active{color:#275c91;background:#eaf2fb;border-color:#cbdcf0}.sw-tabs a:hover{background:#eef2f6}
.sw-project-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 4px}.sw-project-head h2{margin:6px 0}
.sw-info{display:flex;gap:30px;flex-wrap:wrap;margin:16px 0 22px}.sw-info>span{display:flex;flex-direction:column;gap:8px;min-width:145px}.sw-info b{font-size:.78rem;color:#7e8a98;font-weight:650}
.sw-form-panel{max-width:800px;margin:20px auto;padding:28px 34px}.sw-form{display:grid;gap:17px}.sw-form label{display:grid;gap:8px;font-size:.86rem;color:#405065;font-weight:650}
.sw-form input,.sw-form select{width:100%;max-width:100%;box-sizing:border-box;font:inherit;padding:12px 14px;border:1px solid #cbd6e1;border-radius:9px;background:#fff;color:#24384c}
.sw-form input:focus,.sw-form select:focus{outline:3px solid #d7e8f9;border-color:#6293bd}.sw-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sw-form-actions{display:flex;gap:9px;justify-content:flex-end;border-top:1px solid var(--sw-border);padding-top:17px}
.sw-quote-wrap{overflow-x:auto}.sw-quote-table{min-width:690px}.sw-quote-table th{white-space:nowrap}.sw-quote-table td:first-child{min-width:210px}.sw-quote-table input[name="item_name[]"]{width:100%;min-width:200px}
.sw-quote-table input[name="item_qty[]"]{max-width:88px}.sw-quote-table input[name="item_unit[]"]{max-width:80px}.sw-quote-table input[name="item_unit_price[]"]{max-width:150px}.sw-quote-table input[name="item_vat[]"]{max-width:75px}
/* KPI/financial internals in legacy project/quote widgets are not daily-work tools. */
.putty-290-quote-detailed .quote-plan-help,.putty-290-quote-detailed .quote-cost-plan,.sw-page .v28-project-kpis{display:none!important}
.v23-launcher-grid section h4{font-size:.72rem;color:#6b7c8c;letter-spacing:.07em}.v23-launcher-grid section a{font-weight:550}
@media(max-width:1080px){.sw-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.v23-main{padding:18px 22px 50px}}
@media(max-width:640px){.v23-main{padding:14px 13px 74px}.sw-welcome{padding:21px;flex-direction:column;gap:8px}.sw-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sw-action{padding:17px 14px;min-height:100px}.sw-panel{padding:17px 16px}.sw-page-actions{flex-direction:column;align-items:flex-start}.sw-page-actions .sw-buttons{width:100%}.sw-project-head{align-items:flex-start;flex-direction:column}.sw-two{grid-template-columns:1fr}.sw-form-panel{padding:19px 16px}.sw-info{gap:16px}.sw-list-row,.sw-offer{gap:9px}}
