/* Minimal Studio, inspired by Culhane's Projects and Ledger workflows. */
.sn-studio{background:#f7f7f4;min-height:100vh}
.sn-studio-header{background:#fff}
.sn-studio-shell{max-width:1180px}
.sn-studio-nav{gap:28px;overflow-x:auto;white-space:nowrap}
.sn-studio-nav a{min-height:44px;display:inline-flex;align-items:center}
.sn-studio-title h1{font-size:clamp(40px,5vw,64px)}
.sn-home-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.sn-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--sn-line);border:1px solid var(--sn-line);margin-bottom:32px}
.sn-metrics>div{background:white;padding:24px;display:flex;flex-direction:column;gap:12px}
.sn-metrics span{font-size:12px;color:#62665f}
.sn-metrics strong{font:400 clamp(25px,3vw,40px)/1.2 var(--sn-serif);overflow-wrap:anywhere}
.sn-studio .sn-form-card{margin-bottom:20px;background:#fff}
.sn-studio .sn-section-top{border-top:0;padding-top:0}
.sn-toolbar{display:flex;gap:18px;align-items:end;margin:0 0 24px;flex-wrap:wrap}
.sn-toolbar label{display:flex;flex-direction:column;font-size:12px;gap:8px}
.sn-toolbar label:first-child{flex:1;min-width:200px}
.sn-toolbar input,.sn-toolbar select{border:1px solid var(--sn-border);border-radius:0;background:white;color:var(--sn-ink);min-height:46px;padding:10px 12px;width:100%}
.sn-toolbar [data-result-count]{font-size:12px;color:#62665f;padding-bottom:12px}
.sn [hidden]{display:none!important}
.sn-status{display:inline-flex;padding:4px 8px;background:#eff0eb;color:#485247;font-size:11px;line-height:1.5;white-space:nowrap}
.sn-status--overdue{background:#faece2;color:#8a4021}
.sn-status--paid{background:#e7efe7;color:#365539}
.sn-status--cancelled{background:#eeecea;color:#625a54}
.sn-card-actions{padding:0 18px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.sn-ledger{border-top:1px solid var(--sn-line);background:white}
.sn-ledger-row{display:grid;grid-template-columns:minmax(180px,1fr) 140px minmax(200px,.8fr);align-items:center;gap:24px;padding:24px;border:1px solid var(--sn-line);border-top:0}
.sn-ledger-row>div:first-child{display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere}
.sn-ledger-row strong{font-weight:500;font-size:14px}
.sn-ledger-row small,.sn-ledger-row>div:first-child>span{font-size:12px;color:#62665f}
.sn-ledger-amount{display:flex;flex-direction:column;align-items:start;gap:8px}
.sn-ledger-actions{display:flex;gap:12px 16px;flex-wrap:wrap;align-items:center}
.sn-ledger-actions form{width:100%;display:flex;gap:18px;flex-wrap:wrap}
.sn-studio .sn-quiet-link{background:transparent;border:0;padding:6px 0;font-size:12px;text-decoration:underline;text-underline-offset:3px;color:inherit;cursor:pointer}
.sn-studio .sn-small-button{min-height:42px;padding:10px 14px;background:transparent;border:1px solid var(--sn-border);color:var(--sn-ink);display:inline-flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer}
.sn-studio button:disabled{cursor:default}
.sn-attention-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--sn-line);font-size:14px}
.sn-attention-row>span:first-child{display:flex;flex-direction:column;gap:4px}
.sn-attention-row small{font-size:12px;color:#62665f}
.sn-attention-row .sn-status{margin-left:12px}
.sn-line{display:grid;grid-template-columns:minmax(130px,1fr) 90px 130px 60px;gap:12px;align-items:end;padding:18px 0;border-bottom:1px solid var(--sn-line);margin-bottom:16px}
.sn-line label{margin-bottom:0!important}
.sn-line button{min-height:44px}
.sn-live-total{display:block;font:400 44px/1.3 var(--sn-serif);margin:20px 0;overflow-wrap:anywhere}
.sn-invoice-compose .sn-edit-aside{position:sticky;top:28px}
.sn-paper-invoice td:first-child{overflow-wrap:anywhere;max-width:420px}
@media(max-width:900px){.sn-line{grid-template-columns:1fr 1fr 60px}.sn-line-description{grid-column:1/-1}.sn-ledger-row{grid-template-columns:1fr 130px}.sn-ledger-actions{grid-column:1/-1}.sn-invoice-compose .sn-edit-aside{position:static;order:0}}
@media(max-width:640px){.sn-studio-shell{width:calc(100% - 30px)}.sn-studio-nav{gap:24px;margin-bottom:26px}.sn-studio-nav a{font-size:12px}.sn-metrics{grid-template-columns:1fr}.sn-metrics>div{flex-direction:row;align-items:center;justify-content:space-between;padding:18px}.sn-metrics strong{font-size:28px}.sn-ledger-row{padding:18px;gap:18px}.sn-home-actions{width:100%}.sn-home-actions .sn-button{flex:1}.sn-attention-row{align-items:start;flex-direction:column;gap:10px}.sn-invoice-compose .sn-edit-layout{display:flex;flex-direction:column}.sn-invoice-compose .sn-edit-layout>div,.sn-invoice-compose .sn-edit-aside{width:100%}.sn-live-total{font-size:38px}}

.sn-studio-nav .is-active{border-bottom-color:var(--sn-teal)}
.sn-studio .sn-card-heading>span{color:#20211f;border-bottom:2px solid var(--sn-line-accent)}
.sn-studio .sn-button:hover{background:var(--sn-teal);border-color:var(--sn-teal);color:#20211f!important}
.sn-studio .sn-notice--success{border-left:3px solid var(--sn-teal)}
.sn-studio [data-settings-form] .sn-edit-aside{align-self:start;position:sticky;top:24px}
.sn-studio [data-settings-form] label{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}
@media(max-width:980px){.sn-studio [data-settings-form] .sn-edit-layout{display:flex;flex-direction:column}.sn-studio [data-settings-form] .sn-edit-layout>div,.sn-studio [data-settings-form] .sn-edit-aside{width:100%}.sn-studio [data-settings-form] .sn-edit-aside{position:static;order:0}}

.sn-portrait-current img,[data-portrait-preview] img{width:100%;max-height:350px;object-fit:contain;margin-bottom:20px}
.sn-studio .sn-portrait-remove{flex-direction:row;align-items:center}
.sn-studio .sn-portrait-remove input{width:auto;min-height:0}

@media(max-width:640px){
 .sn-studio input,.sn-studio textarea,.sn-studio select{font-size:16px;max-width:100%;min-width:0}
 .sn-studio button,.sn-studio .sn-small-button,.sn-studio .sn-button{min-height:44px}
 .sn-studio-title{flex-wrap:wrap;gap:16px}.sn-studio-title h1{font-size:32px}
 .sn-studio .sn-form-card{padding:18px;min-width:0}
 .sn-studio .sn-edit-layout{display:flex;flex-direction:column;gap:20px}
 .sn-studio .sn-edit-layout>div,.sn-studio .sn-edit-aside{width:100%;min-width:0}
 .sn-studio .sn-edit-aside{position:static;order:0}
 .sn-studio p,.sn-studio h2,.sn-ledger-row{overflow-wrap:anywhere}
}
