*{box-sizing:border-box}body{margin:0;background:#f1f2ec;color:#293e35;font:14px/1.6 Arial}a{color:#315d48}aside{position:fixed;inset:0 auto 0 0;width:220px;background:#203b35;padding:28px 22px;color:#e6ecdf}.brand{font:italic 36px Georgia;color:#e4d4aa;text-decoration:none}.brand span{display:block;font:9px Arial;letter-spacing:2px;margin:12px 0 40px}nav{display:grid;gap:6px}nav a{color:#e0e9da;text-decoration:none;padding:10px;border-radius:5px}nav a:hover{background:#ffffff16}header{position:sticky;top:0;margin-left:220px;min-height:75px;padding:15px 32px;background:#f8faf2;border-bottom:1px solid #dae0d2;display:flex;justify-content:space-between;align-items:center;z-index:5}main{margin-left:220px;padding:30px;max-width:1500px}h1{font:34px Georgia}h2{font:24px Georgia}.panel{padding:25px;background:#fafcf5;border:1px solid #d8dfce;border-radius:10px;margin:20px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.note{background:#e4ebd9;padding:16px;border-radius:8px}.error{background:#f5ddd5;padding:16px}label{display:block;margin:16px 0}input,select,textarea{display:block;width:100%;padding:11px;margin-top:6px;border:1px solid #c5d1bc;border-radius:5px;background:#fff;font:inherit}input[type=checkbox]{display:inline;width:auto}button,.button{display:inline-block;background:#315443;color:white;border:0;border-radius:5px;padding:11px 17px;text-decoration:none;font:inherit;cursor:pointer}button:hover,.button:hover{background:#426a50}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b49b59;outline-offset:3px}table{border-collapse:collapse;width:100%;background:#fafcf5}th,td{padding:14px;text-align:left;border-bottom:1px solid #dae0d2}th{background:#e4ebdc}.table-wrap{overflow:auto}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions form{margin:0}.form-actions{position:sticky;bottom:0;background:#f1f2ec;padding:14px 0;z-index:3}.muted{color:#76816d;font-size:12px}.money{font:29px Georgia}.paper{width:210mm;min-height:297mm;padding:16mm;background:white;margin:auto;color:#222}.paper h1{text-align:center}.paper table{background:white}.paper .customer{margin:40px 0 40px 50%}.qr svg{max-width:230px;height:auto}.codes{white-space:pre-line;word-break:break-all;background:#e7ecdf;padding:15px;font-family:monospace}.auth{max-width:520px}.inline{display:inline-block}@media(max-width:700px){aside{position:sticky;top:0;width:100%;padding:12px;z-index:7}.brand{font-size:24px}.brand span{display:none}nav{display:flex;overflow:auto;white-space:nowrap;gap:5px;margin-top:8px}nav a{padding:7px}header{margin:0;padding:12px;top:105px;gap:10px}main{margin:0;padding:16px}h1{font-size:29px}.panel{padding:17px}}@page{size:A4;margin:0}@media print{aside,header,.no-print{display:none!important}main{padding:0;margin:0}.paper{width:auto;min-height:0;margin:0;box-shadow:none}.paper tr{break-inside:avoid}}

.brand{display:block;text-align:center}.brand-logo{display:block;width:176px;height:176px;max-width:100%;object-fit:cover;object-position:center;border-radius:50%;margin:0 auto}.brand span{margin:16px 0 28px}@media(max-width:700px){.brand{text-align:left}.brand-logo{width:64px;height:64px;margin:0}header{top:134px}}

.badge{display:inline-block;padding:3px 9px;border:1px solid #aab8aa;border-radius:12px;font-size:12px}.badge.delegated{background:#fff0bb;color:#634600;border-color:#b58a20}.presence-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#87938d;margin:0 6px}.presence-dot.online{background:#198447;box-shadow:0 0 0 3px #19844722}h2 small{font:12px Arial}dt{font-weight:bold;margin-top:14px}dd{margin-left:0}.preserve-lines{white-space:pre-line}.paper{position:relative;isolation:isolate}.draft-watermarks{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;display:flex;flex-direction:column;justify-content:space-around}.draft-watermarks div{transform:rotate(-25deg);text-align:center;font:bold 37px Arial;color:rgba(133,0,31,.33);white-space:nowrap}.draft-warning{font-weight:bold;color:#85001f;border:2px solid currentColor;padding:10px}@media print{.draft-watermarks{position:fixed;print-color-adjust:exact;-webkit-print-color-adjust:exact}.draft-watermarks div{color:rgba(133,0,31,.38)}.draft-warning{display:block!important}}

.protected-draft{padding:0}.protected-draft img{display:block;width:100%;height:auto}@media print{.protected-draft{width:210mm}.protected-draft img{max-height:297mm;object-fit:contain}}

.record-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 36px;margin:0}.record-field{min-width:0;padding-bottom:12px;border-bottom:1px solid #e3e8dc}.record-details dt{margin:0 0 4px;color:#60705f;font-size:12px}.record-details dd{margin:0;overflow-wrap:anywhere}.record-details .badge{padding:1px 8px}@media(max-width:850px){.record-details{grid-template-columns:1fr;gap:14px}}

.commercial-document{display:flex;flex-direction:column;min-height:297mm;font-size:12px;line-height:1.4}.document-identity{text-align:center;border-top:1px solid #333;padding-top:4px}.document-identity h1{font:italic 28px Georgia;margin:0 0 5px}.document-identity p{font:italic 11px/1.6 Georgia;margin:0}.document-content{flex:1}.commercial-document .customer{white-space:pre-line;margin:25px 0 25px 50%}.commercial-document h2{font-size:18px}.commercial-document td,.commercial-document th{padding:10px}.document-footer{margin-top:24px;font-size:10px;break-inside:avoid}.document-footer>div{border-top:1px solid #333;padding-top:7px;text-align:center;font-style:italic}.commercial-document .preserve-lines{overflow-wrap:anywhere}@media screen and (max-width:1100px){.commercial-document{width:100%;min-height:0;padding:20px}}@media print{.commercial-document{min-height:297mm;font-size:11px}.document-footer{margin-top:auto;padding-top:20px}}

.amount{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}[hidden]{display:none!important}

/* Scroll the complete sidebar on short windows, including the logo and last links. */
aside{height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b9c9b6 #203b35;padding-bottom:30px}nav a.nav-home{background:#e4d4aa;color:#203b35;font-weight:bold;border:1px solid #e4d4aa}nav a.nav-home:hover{background:#f2e6ca}nav a.nav-active{box-shadow:inset 4px 0 #b49b59;background:#ffffff1d}nav a.nav-home.nav-active{background:#e4d4aa;box-shadow:inset 4px 0 #927439}.button-secondary{background:#63725d}.button-danger{background:#8e3933}.button-danger:hover{background:#722b26}.dashboard-hero{background:#203b35;color:#f4f5e9;border-radius:14px;padding:28px 30px;margin:0 0 22px;border-top:4px solid #c7ac6a;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.dashboard-hero h1{margin:0 0 8px;color:#ecdfbe}.dashboard-hero p{margin:0}.dashboard-eyebrow{font-size:11px;letter-spacing:1.8px;color:#dac69c}.dashboard-hero .button{background:#e4d4aa;color:#203b35}.dashboard-hero .button-light{background:transparent;color:#f4f5e9;border:1px solid #b9c9b6}.dashboard-cards .panel{display:flex;flex-direction:column;gap:10px;text-decoration:none;margin:0 0 20px;border-top:3px solid #b49b59;transition:box-shadow .15s}.dashboard-cards .panel:hover{box-shadow:0 5px 15px #203b3515}.dashboard-card-label{font-weight:bold;color:#60705f}.dashboard-card-title{font:25px Georgia}.dashboard-cards .money{font-size:36px;color:#203b35}.dashboard-cards .panel>span:last-child{font-size:12px;margin-top:auto}@media(max-width:700px){aside{position:relative;top:auto;height:auto;max-height:42dvh;padding-bottom:12px}header{top:0}.dashboard-hero{padding:20px}.dashboard-hero h1{font-size:30px}}

.header-account{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.header-presence{position:relative}.presence-toggle{display:flex;align-items:center;gap:8px;background:#e6eadf;color:#34463b;border:1px solid #b9c9b6;padding:9px 13px}.presence-toggle:hover{background:#dbe4d2}.presence-indicator{width:10px;height:10px;flex:none;border-radius:50%;background:#899486}.presence-toggle.has-online{background:#dcefdc;border-color:#4f955c;color:#174c28}.has-online .presence-indicator{background:#198447;box-shadow:0 0 0 3px #19844722}.presence-toggle.presence-unavailable{border-color:#b49b59}.presence-panel{position:absolute;top:calc(100% + 8px);left:0;width:340px;max-width:calc(100vw - 32px);max-height:60dvh;overflow:auto;background:#fafcf5;padding:18px;border:1px solid #bdcbb6;border-radius:8px;box-shadow:0 8px 24px #203b3526;z-index:10}.presence-panel[hidden]{display:none}.presence-panel ul{padding-left:20px;margin:12px 0}.presence-panel li{overflow-wrap:anywhere}.presence-panel p{margin:10px 0}@media(max-width:700px){.header-account{gap:7px;min-width:0}.presence-toggle{padding:7px 9px;font-size:12px}.presence-panel{width:290px}header>form button{padding:9px 11px}}

.artists-compact td,.artists-compact th{padding:10px 12px;white-space:nowrap}.artists-compact .badge{padding:1px 8px}.artist-sort{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:10px 0 20px}.artist-sort label{margin:0;min-width:220px}
/* Address zone measured from the original A4 quote: x=105 mm, y=61 mm. */
.quote-document .customer{position:absolute;top:61mm;left:105mm;width:85mm;margin:0;font-size:12pt;line-height:1.15;white-space:pre-line;overflow-wrap:anywhere}.quote-document .document-content{padding-top:68mm}.quote-document .document-content>h2:first-of-type{margin-top:0;margin-bottom:15mm;text-align:center}.quote-document .document-footer{margin-top:auto;padding-top:12mm}@media screen and (max-width:1100px){.quote-document .customer{position:static;width:55%;margin:36px 0 30px 45%;font-size:inherit;line-height:1.4}.quote-document .document-content{padding-top:0}.quote-document .document-content>h2:first-of-type{margin-bottom:25px}}
.contact-drop{border:2px dashed #829a85}.contact-drop.drag-active{background:#e1ecd4;border-color:#315443}.contact-drop.has-error{border-color:#9b312e}.contact-drop.has-error [role=status]{color:#8d2522}[hidden]{display:none!important}

/* Quote letterhead: association name above the separating rule. */
.quote-document .document-identity{border-top:0;padding-top:0}.quote-document .document-identity h1{border-bottom:1px solid #333;padding-bottom:5px}

.quote-model-picker{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:16px}.quote-model-picker .actions{align-items:center}.logo-letterhead{display:flex;align-items:center;justify-content:space-between;gap:10mm;border-bottom:1px solid #b79951;padding-bottom:5mm;min-height:35mm}.logo-letterhead img{width:32mm;height:32mm;object-fit:contain;flex-shrink:0}.logo-letterhead>div{max-width:125mm;text-align:right}.logo-letterhead strong{font:25px Georgia;color:#800023;letter-spacing:2px}.logo-letterhead p{font-size:10px;line-height:1.6;margin:5px 0 0}.quote-logo .document-content{padding-top:55mm}.quote-logo .document-content>h2:first-of-type{color:#800023;letter-spacing:1px;text-transform:uppercase;font:22px Georgia;margin-bottom:12mm}.quote-logo table th{background:#800023;color:#fff;border-bottom:0;font-size:11px}.quote-logo table td{border-color:#e7dfcd;padding-top:14px;padding-bottom:14px}.quote-logo .quote-total{align-self:flex-end;text-align:right;background:#f7f2e6;border:1px solid #d4be86;border-radius:3px;padding:10px 15px;margin-left:auto;width:fit-content;color:#800023}.quote-logo .document-footer>div{border-color:#b79951}.quote-logo .document-footer{color:#555}@media screen and (max-width:1100px){.quote-logo .document-content{padding-top:0}.logo-letterhead{gap:15px}.logo-letterhead>div{max-width:70%}.logo-letterhead img{width:95px;height:95px}}@media print{.quote-logo th{print-color-adjust:exact;-webkit-print-color-adjust:exact}.quote-logo .quote-total{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Logo variant retains the classic document palette. */
.logo-letterhead{border-bottom:0}.quote-logo .document-content>h2:first-of-type{color:#222}.quote-logo table th{background:#e4ebdc;color:#222;border-bottom:1px solid #dae0d2}.quote-logo table td{border-color:#dae0d2}.quote-logo .quote-total{background:transparent;border:0;border-radius:0;color:#222;padding:0}.quote-logo .document-footer>div{border-color:#333}

.amount{text-align:right;white-space:nowrap}.ledger-account{margin:28px 0}.ledger-account h2{break-after:avoid}@media print{.table-wrap{overflow:visible}main{max-width:none}thead{display:table-header-group}.ledger-account table{font-size:10px}.ledger-account th,.ledger-account td{padding:5px}.ledger-account tfoot{display:table-row-group}}

/* Use physical A4 dimensions in print, independently of the mobile viewport.
   Leave 1 mm for WebKit's page-height rounding instead of forcing a second sheet. */
.commercial-document{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media print{
  html,body{margin:0!important;padding:0!important;background:white;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  main{width:210mm;max-width:none;margin:0!important;padding:0!important}
  main>.note,main>.error{display:none!important}
  .commercial-document{width:210mm;max-width:none;min-height:296mm;margin:0;padding:16mm;box-sizing:border-box;font-size:11px;line-height:1.4}
  .commercial-document .document-content{flex:1 0 auto}
  .commercial-document .logo-letterhead,.commercial-document .document-footer{flex-shrink:0}
  .commercial-document .document-footer{break-inside:avoid;page-break-inside:avoid}
}
