:root{--ink:#20201e;--muted:#75736d;--paper:#f6f3ed;--white:#fff;--line:#ded9cf;--accent:#a82c2b;--soft:#eee9df}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Inter,Segoe UI,Arial,sans-serif}header{height:74px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,28px)}.brand{color:var(--ink);text-decoration:none;font-size:18px;letter-spacing:.03em}.brand span{background:var(--accent);color:white;padding:8px 9px;margin-right:9px;font-weight:750}.identity{display:flex;gap:22px;align-items:center;color:var(--muted)}.identity a{color:var(--accent);text-decoration:none}nav{display:flex;gap:27px;padding:0 max(4vw,28px);height:54px;align-items:center;background:var(--white);border-bottom:1px solid var(--line);overflow:auto}nav a{color:#4a4945;text-decoration:none;white-space:nowrap;font-size:14px}nav a:hover{color:var(--accent)}main{max-width:1280px;margin:auto;padding:64px max(4vw,28px)}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.16em;color:var(--accent)}h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(36px,5vw,66px);line-height:1.04;margin:15px 0 18px;max-width:840px}.hero>p:last-child,.module-head>p:last-child{color:var(--muted);font-size:18px;max-width:650px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:58px}.cards article{background:var(--white);border:1px solid var(--line);padding:28px;min-height:210px}.cards span{font-size:10px;letter-spacing:.13em;color:var(--accent)}.cards h2{font:500 24px Georgia,serif;margin:30px 0 12px}.cards p,.muted{color:var(--muted)}.login{background:var(--white);border:1px solid var(--line);max-width:480px;margin:4vh auto;padding:48px}.login h1{font-size:44px}.login form{display:grid;gap:20px;margin-top:34px}.login label{display:grid;gap:7px;font-size:13px;font-weight:650}.login input{width:100%;border:1px solid #cfc9be;padding:13px 14px;font:inherit;background:#fff}.login input:focus{outline:2px solid #d7aaa9;border-color:var(--accent)}button{border:0;background:var(--accent);color:white;padding:14px 22px;font:600 14px inherit;cursor:pointer}.error{background:#f8e7e6;color:#8e2322;padding:11px 13px}.module-head,.empty{background:var(--white);border-top:4px solid var(--accent);padding:42px}.module-head h1,.empty h1{font-size:44px}@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}nav{gap:20px}}@media(max-width:560px){main{padding-top:35px}.cards{grid-template-columns:1fr}.identity span{display:none}.login{padding:30px}h1{font-size:40px}}
.dashboard-cards a{background:#fff;border:1px solid var(--line);padding:26px;min-height:180px;color:var(--ink);text-decoration:none;display:flex;flex-direction:column}.dashboard-cards a:hover{border-color:#b9afa1}.dashboard-cards span{font-size:11px;letter-spacing:.1em;color:var(--accent);text-transform:uppercase}.dashboard-cards strong{font:500 34px Georgia,serif;margin:25px 0 8px}.dashboard-cards p{color:var(--muted);margin:auto 0 0}
.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.section-title h1{font-size:48px;margin-bottom:8px}.section-title p:last-child{color:var(--muted);margin:0;max-width:720px}.section-title.compact{margin-top:20px}.primary,button{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:13px 20px;font-weight:650;white-space:nowrap}.table-card,.form-card{background:var(--white);border:1px solid var(--line)}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;background:#faf8f4}th,td{padding:16px 18px;border-bottom:1px solid var(--line);vertical-align:middle}td small{display:block;color:var(--muted);margin-top:2px}.status{display:inline-block;border-radius:20px;padding:4px 9px;font-size:12px}.status.on{background:#e6f0e8;color:#276039}.status.off{background:#eeeae3;color:#716b63}.text-action,.back,.form-actions a{color:var(--accent);text-decoration:none;font-weight:650}.notice{background:#e6f0e8;color:#276039;border:1px solid #c8dfcd;padding:12px 16px;margin-bottom:18px}.user-form{display:grid;gap:22px}.form-card{padding:28px}.form-card h2{font:500 25px Georgia,serif;margin:0 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{display:grid;gap:7px;font-weight:650;font-size:13px}.form-grid input,.form-grid select,td select{border:1px solid #cfc9be;background:#fff;padding:11px 12px;font:inherit;width:100%}.form-grid .wide{grid-column:1/-1}.form-grid label small{font-weight:400;color:var(--muted)}.form-grid .check{display:flex;grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center}.form-grid .check input{width:auto}.permission-intro p{color:var(--muted);margin-top:-14px}.table-scroll{overflow:auto;margin:0 -28px -28px}.table-scroll table{min-width:790px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:24px}.back{display:inline-block;margin-bottom:12px}@media(max-width:700px){.section-title{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.table-card{overflow:auto}.table-card table{min-width:680px}}
.role-access-summary h2{margin:5px 0 7px}.role-access-summary>p:not(.eyebrow){margin:0;color:var(--muted)}.role-permission-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.role-permission-chips span{padding:7px 10px;background:#e6f0e8;color:#276039;font-size:12px;font-weight:650}.permission-advanced{padding:0;overflow:hidden}.permission-advanced>summary{padding:20px 28px;cursor:pointer;color:var(--accent);font-weight:750}.permission-advanced>.permission-intro{padding:12px 28px 20px;border-top:1px solid var(--line);background:#faf8f4}.permission-advanced>.permission-intro p{margin:0}.permission-advanced>.table-scroll{margin:0}.permission-advanced>.table-scroll table{min-width:790px}
.filters{display:flex;gap:10px;background:var(--white);border:1px solid var(--line);padding:14px;margin-bottom:18px}.filters input{flex:1;min-width:220px}.filters input,.filters select,.inline-form input,.form-grid textarea{border:1px solid #cfc9be;background:#fff;padding:11px 12px;font:inherit}.filters a{align-self:center;color:var(--muted);padding:0 8px;text-decoration:none}.doc-type{font-size:12px;padding:5px 9px;border:1px solid}.doc-type.invoice{color:#315d48;background:#edf5f0;border-color:#cfe2d7}.doc-type.receipt{color:#765a2d;background:#f7f1e5;border-color:#e6d6b8}.empty-row{text-align:center;color:var(--muted);padding:40px}.form-grid textarea{min-height:88px;resize:vertical}.inline-form{display:grid;grid-template-columns:2fr 2fr 1fr;gap:10px;border-top:1px solid var(--line);margin:28px -28px -28px;padding:20px 28px;background:#faf8f4}@media(max-width:700px){.filters{flex-direction:column}.inline-form{grid-template-columns:1fr}}
.media-kind,.quote-status{display:inline-block;padding:5px 9px;font-size:12px;border-radius:2px}.media-kind.local{background:#e9eef2;color:#3c5566}.media-kind.social{background:#f0e9f3;color:#65476e}.quote-status.draft{background:#eeeae3;color:#665f56}.quote-status.sent{background:#e8eef5;color:#36556f}.quote-status.accepted{background:#e6f0e8;color:#276039}.quote-status.rejected,.quote-status.cancelled{background:#f8e7e6;color:#8e2322}.lines-title{display:flex;align-items:end;justify-content:space-between;margin:20px 0}.lines-title h2{font:500 30px Georgia,serif;margin:4px 0}.secondary,.remove-line{background:transparent;color:var(--accent);border:1px solid #cfa8a5}.quote-line{background:#fff;border:1px solid var(--line);padding:24px;margin-bottom:14px}.line-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.remove-line{padding:7px 10px}.line-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.line-grid label{display:grid;gap:6px;font-size:12px;font-weight:650}.line-grid input,.line-grid select{width:100%;border:1px solid #cfc9be;background:#fff;padding:10px;font:inherit}.line-grid .span-2{grid-column:span 2}.line-grid .banner-check{display:flex;grid-template-columns:auto 1fr;align-items:center}.line-grid .banner-check input{width:auto}.line-total{text-align:right;margin-top:18px;color:var(--muted)}.line-total strong{color:var(--ink);font-size:18px;margin-left:12px}.quote-summary{margin:20px 0 0 auto;width:min(100%,420px);background:var(--ink);color:#fff;padding:22px;display:flex;justify-content:space-between;align-items:center}.quote-summary strong{font:500 27px Georgia,serif}.document-actions{display:flex;justify-content:space-between;margin-bottom:18px}.document-actions a{color:var(--accent);text-decoration:none;font-weight:650}.quote-document{background:#fff;border:1px solid var(--line);padding:50px}.document-top{display:flex;justify-content:space-between;gap:40px;margin-bottom:45px}.document-top h1{font-size:42px;margin-bottom:0}.document-meta{display:grid;text-align:right;align-content:start;gap:4px}.document-meta span{color:var(--muted)}.document-total{display:flex;justify-content:flex-end;align-items:center;gap:40px;padding:25px 18px}.document-total strong{font:500 30px Georgia,serif}.document-notes{border-top:1px solid var(--line);padding-top:20px;color:var(--muted)}@media(max-width:900px){.line-grid{grid-template-columns:1fr 1fr}.quote-document{padding:28px}}@media(max-width:600px){.line-grid{grid-template-columns:1fr}.line-grid .span-2{grid-column:auto}.document-top{flex-direction:column}.document-meta{text-align:left}}@media print{header,nav,.document-actions{display:none}body,main{background:#fff}main{padding:0}.quote-document{border:0;padding:0}.identity{display:none}}
.document-actions>div{display:flex;gap:22px}.email-quote{display:flex;align-items:end;justify-content:flex-end;gap:10px;background:#fff;border:1px solid var(--line);padding:14px;margin-bottom:18px}.email-quote label{display:grid;gap:4px;font-size:12px;font-weight:650;width:min(100%,360px)}.email-quote input{border:1px solid #cfc9be;padding:10px;font:inherit}@media(max-width:600px){.email-quote{align-items:stretch;flex-direction:column}.document-actions{gap:15px;flex-direction:column}.document-actions>div{flex-wrap:wrap}}
.accept-quote{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f0ece3;border-left:4px solid var(--accent);padding:18px 20px;margin-bottom:20px}.accept-quote>div{display:grid}.accept-quote span{color:var(--muted);font-size:13px}.accept-quote label{display:grid;gap:4px;font-size:12px;font-weight:650}.accept-quote select{padding:10px;border:1px solid #cfc9be;background:#fff}.contract-status{display:inline-block;padding:5px 9px;font-size:12px}.contract-status.pending_signature{background:#f7f1e5;color:#765a2d}.contract-status.active{background:#e6f0e8;color:#276039}.contract-status.completed{background:#e8eef5;color:#36556f}.contract-status.cancelled{background:#f8e7e6;color:#8e2322}.contract-hero{background:#fff;border-top:4px solid var(--accent);padding:35px;display:flex;justify-content:space-between;gap:30px;margin:18px 0 22px}.contract-hero h1{font-size:44px}.contract-hero>div:last-child{display:grid;text-align:right;justify-items:end;align-content:start;gap:12px}.contract-hero>div:last-child strong{font:500 28px Georgia,serif}.contract-hero a{color:var(--accent);text-decoration:none}@media(max-width:750px){.accept-quote,.contract-hero{flex-direction:column;align-items:stretch}.contract-hero>div:last-child{text-align:left;justify-items:start}}
.validation-list{display:grid;gap:16px}.validation-card{background:#fff;border:1px solid var(--line);padding:26px;display:flex;justify-content:space-between;gap:30px;align-items:center}.validation-card h2,.production-card h2{font:500 25px Georgia,serif;margin:4px 0}.validation-card p,.validation-card span{color:var(--muted)}.validation-card form{display:grid;gap:12px;justify-items:end}.confirm{font-size:13px}.production-grid{display:grid;grid-template-columns:1fr;gap:7px}.production-card{background:#fff;border:1px solid var(--line)}.production-card.priority{border-left:4px solid var(--red)}.production-summary{display:grid;grid-template-columns:145px minmax(220px,2fr) minmax(150px,1.2fr) minmax(130px,1fr) 92px 145px;gap:16px;align-items:center;min-height:52px;padding:9px 15px;cursor:pointer;list-style:none}.production-summary::-webkit-details-marker{display:none}.production-summary:before{content:'›';font:22px Georgia,serif;color:var(--red);position:absolute;margin-left:-10px;transition:transform .15s}.production-card[open]>.production-summary:before{transform:rotate(90deg)}.production-summary>span,.production-summary>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.production-order{font-size:12px;letter-spacing:.04em}.production-client{font-weight:700}.production-medium,.production-editor,.production-date{color:var(--muted);font-size:13px}.production-detail{border-top:1px solid var(--line);padding:22px 28px 26px}.production-detail-head p{color:var(--muted)}.production-status{height:max-content;padding:5px 8px;font-size:11px;white-space:nowrap;text-align:center}.production-status.pending_assignment,.production-status.assigned{background:#eeeae3;color:#665f56}.production-status.in_progress{background:#e8eef5;color:#36556f}.production-status.pending_approval{background:#f7f1e5;color:#765a2d}.production-status.approved{background:#e6f0e8;color:#276039}.production-status.rejected{background:#f8e7e6;color:#8e2322}.production-card dl{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:14px}.production-card dl div{display:flex;justify-content:space-between;gap:15px}.production-card dt{color:var(--muted)}.production-card dd{margin:0;text-align:right}.job-action,.job-complete{display:grid;gap:10px;margin-top:18px}.job-action{grid-template-columns:1fr auto}.job-action select,.job-complete input,.job-complete textarea,.review-actions input{padding:10px;border:1px solid #cfc9be;background:#fff;font:inherit}.job-complete label{display:grid;gap:5px;font-size:12px;font-weight:650}.review-actions{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:18px}.review-actions form:last-child{display:flex;gap:8px}.review-actions input{flex:1}code{font:12px Consolas,monospace;color:#4b4945;word-break:break-all}@media(max-width:1050px){.production-summary{grid-template-columns:135px minmax(190px,2fr) minmax(135px,1fr) 115px 140px}.production-date{display:none}}@media(max-width:850px){.production-summary{grid-template-columns:120px minmax(180px,2fr) minmax(120px,1fr) 135px}.production-editor,.production-date{display:none}.validation-card{align-items:stretch;flex-direction:column}.validation-card form{justify-items:stretch}}@media(max-width:600px){.production-summary{grid-template-columns:1fr auto;gap:5px 10px}.production-medium{grid-column:1/2}.production-editor,.production-date{display:none}.production-detail{padding:18px}.review-actions{grid-template-columns:1fr}.review-actions form:last-child{flex-direction:column}}
.metric-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:18px}.metric-strip article{background:#fff;border:1px solid var(--line);padding:18px;display:flex;justify-content:space-between;align-items:center}.metric-strip span{color:var(--muted)}.metric-strip strong{font:500 23px Georgia,serif}.payment-entry summary{color:var(--accent);cursor:pointer;font-weight:650;white-space:nowrap}.payment-entry form{position:absolute;z-index:5;right:4vw;width:min(760px,92vw);display:grid;grid-template-columns:repeat(5,1fr);gap:10px;background:#fff;box-shadow:0 14px 40px #0002;border:1px solid var(--line);padding:18px}.payment-entry label{display:grid;gap:4px;font-size:11px;font-weight:650}.payment-entry input,.payment-entry select{width:100%;padding:9px;border:1px solid #cfc9be;background:#fff}.payment-entry button{align-self:end}.payment-state{display:inline-block;padding:5px 8px;font-size:11px;white-space:nowrap}.payment-state.pending{background:#f7f1e5;color:#765a2d}.payment-state.validated{background:#e6f0e8;color:#276039}.payment-state.rejected,.payment-state.voided{background:#f8e7e6;color:#8e2322}.payment-validation{display:flex;gap:7px}.payment-validation form:last-child{display:flex}.payment-validation input{width:120px;border:1px solid #cfc9be;padding:8px}.payment-validation button{padding:8px 10px}@media(max-width:850px){.payment-entry form{grid-template-columns:1fr 1fr}.payment-validation{flex-direction:column}.metric-strip{grid-template-columns:1fr}}@media(max-width:500px){.payment-entry form{grid-template-columns:1fr}}
.manual-billing{background:#fff;border:1px solid var(--line);margin-bottom:18px}.manual-billing summary{padding:17px 20px;color:var(--accent);font-weight:700;cursor:pointer}.manual-billing form{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1fr auto;gap:12px;padding:0 20px 20px}.manual-billing label{display:grid;gap:4px;font-size:11px;font-weight:650}.manual-billing label.check{display:flex;align-items:center}.manual-billing label.check input{width:auto}.manual-billing input,.manual-billing select,.void-document input{padding:10px;border:1px solid #cfc9be;background:#fff;font:inherit}.manual-billing button{align-self:end}.void-document{margin-top:7px}.void-document summary{color:var(--accent);font-size:12px;cursor:pointer}.void-document form{position:absolute;right:4vw;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px #0002;padding:12px;display:flex;gap:8px;z-index:4}.retry-fel{margin-top:7px}.retry-fel button{padding:6px 8px;font-size:11px}@media(max-width:1000px){.manual-billing form{grid-template-columns:1fr 1fr}}@media(max-width:550px){.manual-billing form{grid-template-columns:1fr}.void-document form{left:4vw;right:4vw;flex-direction:column}}
.manual-billing form.manual-invoice-form{display:block;padding:0}.recipient-block,.invoice-detail-block{padding:24px 28px;border-top:1px solid var(--line)}.recipient-block{background:#fbfaf7}.form-kicker{margin:0 0 16px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.14em}.nit-lookup{display:grid;grid-template-columns:minmax(220px,360px) auto;gap:10px;align-items:end}.nit-lookup .secondary{height:41px}.lookup-status{margin:9px 0 18px;color:var(--muted);font-size:12px}.lookup-status.ok{color:#276039}.lookup-status.error{color:#8e2322}.recipient-fields{display:grid;grid-template-columns:2fr 2fr 1.4fr;gap:14px}.invoice-fields{display:grid;grid-template-columns:minmax(280px,2fr) 1fr 1fr 1.2fr;gap:14px;align-items:end}.manual-invoice-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;border-top:1px solid var(--line)}.manual-invoice-actions span{color:var(--muted);font-size:12px}@media(max-width:850px){.recipient-fields,.invoice-fields{grid-template-columns:1fr 1fr}.concept-field{grid-column:span 2}}@media(max-width:560px){.recipient-block,.invoice-detail-block,.manual-invoice-actions{padding-left:18px;padding-right:18px}.nit-lookup,.recipient-fields,.invoice-fields{grid-template-columns:1fr}.concept-field{grid-column:auto}.manual-invoice-actions{align-items:stretch;flex-direction:column}.manual-invoice-actions button{width:100%}}
.invoice-workspace{background:#f5f2ec}.invoice-mode{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 28px;border-top:1px solid var(--line);background:#fff}.invoice-mode>div{display:grid;gap:4px}.invoice-mode .form-kicker{margin:0}.invoice-mode small{color:var(--muted)}.press-switch{display:flex!important;align-items:center;gap:10px;cursor:pointer;font-size:12px!important}.press-switch input{position:absolute;opacity:0}.press-switch span{width:38px;height:21px;border-radius:20px;background:#c8c3ba;padding:2px;transition:.2s}.press-switch span:before{content:"";display:block;width:17px;height:17px;border-radius:50%;background:#fff;transition:.2s}.press-switch input:checked+span{background:var(--accent)}.press-switch input:checked+span:before{transform:translateX(17px)}.invoice-paper{width:min(940px,calc(100% - 56px));margin:28px auto;background:#fff;border:1px solid #bdb7ad;box-shadow:0 14px 35px #2e292118}.invoice-paper label{font-size:9px!important;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.invoice-paper input{border:0!important;border-bottom:1px solid #bdb7ad!important;padding:8px 2px!important;background:transparent!important;color:var(--ink)}.invoice-paper input:focus{outline:0;border-bottom-color:var(--accent)!important}.invoice-paper-head{display:flex;justify-content:space-between;align-items:start;padding:30px 34px;border-top:7px solid var(--accent);border-bottom:1px solid #bdb7ad}.invoice-paper-head>div:first-child{display:grid}.invoice-paper-head span{font-size:10px;letter-spacing:.15em;color:var(--accent);font-weight:800}.invoice-paper-head strong{font:500 38px Georgia,serif}.invoice-paper-head small{color:var(--muted)}.invoice-date{width:190px}.invoice-recipient{padding:24px 34px;border-bottom:1px solid #bdb7ad}.invoice-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.nit-row{grid-template-columns:minmax(220px,320px) 1fr;align-items:end}.nit-row .lookup-status{margin:0 0 8px}.name-row{margin:14px 0}.invoice-lines{padding:0 34px 28px}.invoice-line-head,.invoice-line-entry{display:grid;grid-template-columns:55px minmax(250px,1fr) 150px 150px;align-items:center}.invoice-line-head{padding:12px 10px;background:#292824;color:#fff;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.invoice-line-entry{min-height:58px;padding:0 10px;border-bottom:1px solid #d8d3ca}.invoice-line-entry label{display:block}.invoice-line-entry label:nth-child(3){display:flex;align-items:center;gap:4px}.invoice-line-entry strong{text-align:right;font:500 17px Georgia,serif}.invoice-blank-lines i{display:block;height:34px;border-bottom:1px solid #ebe7df}.invoice-paper-foot{display:flex;justify-content:space-between;align-items:stretch;border-top:1px solid #bdb7ad}.invoice-paper-foot>div:first-child{padding:20px 34px;display:grid;align-content:center;color:var(--muted)}.invoice-grand-total{min-width:300px;padding:18px 34px;background:#f1eee7;display:flex;justify-content:space-between;align-items:center}.invoice-grand-total span{font-size:10px;font-weight:800;letter-spacing:.12em}.invoice-grand-total strong{font:500 27px Georgia,serif}.invoice-workspace .manual-invoice-actions{background:#fff}@media(max-width:700px){.invoice-mode{align-items:flex-start;flex-direction:column}.invoice-paper{width:calc(100% - 28px);margin:14px}.invoice-paper-head{flex-direction:column;gap:20px}.invoice-date{width:100%}.invoice-row,.nit-row{grid-template-columns:1fr}.invoice-line-head,.invoice-line-entry{grid-template-columns:42px 1fr 90px}.invoice-line-head span:last-child,.invoice-line-entry strong{display:none}.invoice-paper-foot{flex-direction:column}.invoice-grand-total{min-width:0}}
.invoice-line-head,.invoice-line-entry{grid-template-columns:55px minmax(250px,1fr) 150px 130px 34px}.remove-invoice-line{padding:4px!important;background:transparent!important;color:var(--accent)!important;font-size:20px;line-height:1;border:0!important}.remove-invoice-line:disabled{visibility:hidden}.add-invoice-line{margin-top:12px;padding:8px 12px!important;background:transparent!important;color:var(--accent)!important;border:1px solid #cfa8a5!important;font-size:11px}.invoice-lines>.add-invoice-line{display:block;margin-left:auto}@media(max-width:700px){.invoice-line-head,.invoice-line-entry{grid-template-columns:38px 1fr 85px 28px}.invoice-line-head span:nth-child(4),.invoice-line-entry strong{display:none}}
/* Las pantallas de consulta conservan contexto y desplazan únicamente sus resultados. */
html:has(body.list-scroll-page),body.list-scroll-page{height:100%;overflow:hidden}body.list-scroll-page{display:grid;grid-template-rows:74px 54px minmax(0,1fr)}body.list-scroll-page main{width:100%;height:100%;min-height:0;padding-top:30px;padding-bottom:24px;display:flex;flex-direction:column;overflow:hidden}body.list-scroll-page main>.section-title{flex:0 0 auto;margin-bottom:20px}body.list-scroll-page main>.filters,body.list-scroll-page main>.notice,body.list-scroll-page main>.error,body.list-scroll-page main>.metric-strip{flex:0 0 auto}.scroll-results{min-height:180px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.scroll-results>table{min-width:760px}.scroll-results thead th,.table-scroll thead th{position:sticky;top:0;z-index:3;box-shadow:0 1px 0 var(--line)}.table-scroll{max-height:min(54vh,560px);overscroll-behavior:contain;scrollbar-gutter:stable}.validation-list.scroll-results,.production-grid.scroll-results{display:grid;align-content:start;padding-right:6px}@media(max-width:700px){html:has(body.list-scroll-page),body.list-scroll-page{height:auto;overflow:auto}body.list-scroll-page{display:block}body.list-scroll-page main{height:auto;display:block;overflow:visible}.scroll-results{max-height:62vh}.scroll-results>table{min-width:680px}}
.report-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.report-metrics article{background:#fff;border:1px solid var(--line);padding:20px;display:grid;gap:10px}.report-metrics span{color:var(--muted);font-size:12px}.report-metrics strong{font:500 27px Georgia,serif}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.report-grid .form-card{min-width:0}.audit-filters input{min-width:200px}.audit-table{overflow:auto}.audit-table table{min-width:1050px}.audit-detail{max-width:420px;color:var(--muted);font-size:12px;word-break:break-word}@media(max-width:850px){.report-metrics{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr}}@media(max-width:500px){.report-metrics{grid-template-columns:1fr}}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.module-card{display:block;background:#fff;border-top:4px solid var(--accent);padding:28px;color:var(--ink);text-decoration:none;box-shadow:0 8px 24px rgba(30,27,22,.05)}.module-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(30,27,22,.09)}.module-card span{color:var(--accent);font-size:11px;font-weight:750;letter-spacing:.12em}.module-card h2{font:500 25px Georgia,serif;margin:10px 0}.module-card p{color:var(--muted);line-height:1.55;margin:0}@media(max-width:850px){.module-grid{grid-template-columns:1fr}}
.fel-admin{display:grid;gap:20px}.fel-admin>.back{margin-bottom:-8px}.fel-admin .contract-hero{margin-bottom:0}.fel-admin>.manual-billing{margin:0}.fel-admin>.form-card{margin:0;padding:0;overflow:hidden}.fel-admin>.form-card>h2{padding:25px 28px 18px;margin:0}.fel-admin .table-scroll{margin:0;overflow:auto}.fel-admin .table-scroll table{min-width:760px}.fel-admin td:last-child,.fel-admin th:last-child{text-align:right;width:100px}.fel-admin td a{color:var(--accent);font-weight:700;text-decoration:none}.fel-admin td a:hover{text-decoration:underline}.fel-admin .form-card>details{border-top:1px solid var(--line);background:#faf8f4}.fel-admin .form-card>details>summary{list-style:none;padding:15px 28px;color:var(--accent);font-size:13px;font-weight:750;cursor:pointer}.fel-admin .form-card>details>summary::-webkit-details-marker{display:none}.fel-admin .form-card>details>summary:before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:9px;border:1px solid currentColor}.fel-admin .form-card>details[open]>summary:before{content:"−"}.fel-admin .form-card>details>.assignment-form{margin:0;border-top:1px solid var(--line);padding:22px 28px 28px;background:#fff}.fel-admin>.manual-billing>form.user-form{display:block;padding:0 28px 28px}.fel-admin>.manual-billing>form.user-form .form-grid{margin-bottom:20px}.fel-admin .status{white-space:nowrap}@media(max-width:700px){.fel-admin>.form-card>h2,.fel-admin .form-card>details>summary{padding-left:20px;padding-right:20px}.fel-admin .form-card>details>.assignment-form{padding:20px}}
.document-delivery{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-width:190px}.document-delivery strong{width:100%;font-size:12px}.document-delivery>a,.document-delivery summary{color:var(--accent);font-size:11px;font-weight:700;text-decoration:none;cursor:pointer}.document-delivery details form{position:absolute;right:4vw;z-index:8;display:flex;gap:7px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 25px #0002;padding:10px}.document-delivery input{padding:8px;border:1px solid #cfc9be}.document-delivery button{padding:8px 10px}
.issued-document{display:flex;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #b8d2bf}.issued-document a{color:#276039;font-weight:700;text-decoration:none}.issued-document form{display:flex;gap:7px;margin-left:auto}.issued-document input{min-width:220px;padding:8px;border:1px solid #9fc1a7}.issued-document button{padding:8px 12px}@media(max-width:750px){.issued-document,.issued-document form{align-items:stretch;flex-direction:column}.issued-document form{margin-left:0}.issued-document input{min-width:0}}
.production-summary{position:relative;padding-left:24px}.production-summary:before{left:8px;margin-left:0}
.manual-production{flex:0 0 auto;margin:0 0 16px;background:#fff;border:1px solid var(--line)}.manual-production>summary{padding:15px 20px;color:var(--accent);font-weight:750;cursor:pointer;list-style:none}.manual-production>summary:before{content:'+';display:inline-grid;place-items:center;width:20px;height:20px;margin-right:10px;border:1px solid currentColor}.manual-production[open]>summary:before{content:'−'}.manual-production>.assignment-form{margin:0;border-top:1px solid var(--line);padding:20px;background:#faf8f4}
.payment-queue{flex:0 0 auto;margin-bottom:18px;background:#fff;border:1px solid #d9b5b2;border-top:4px solid var(--red);overflow:hidden}.queue-title{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.queue-title h2{margin:3px 0 0;font:500 25px Georgia,serif}.queue-title>strong{display:grid;place-items:center;width:36px;height:36px;background:var(--red);color:#fff}.payment-queue .table-scroll{width:100%;max-height:280px;margin:0;overflow:auto}.payment-queue table{width:100%;min-width:940px;table-layout:fixed}.payment-queue th,.payment-queue td{padding:11px 12px}.payment-queue th:nth-child(1){width:27%}.payment-queue th:nth-child(2){width:10%}.payment-queue th:nth-child(3){width:10%}.payment-queue th:nth-child(4){width:12%}.payment-queue th:nth-child(5){width:14%}.payment-queue th:nth-child(6){width:27%}.payment-queue td:first-child strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-queue td:nth-child(2),.payment-queue td:nth-child(3){white-space:nowrap}.payment-queue .payment-validation{margin:0;min-width:0;align-items:center}.payment-queue .payment-validation input{width:108px}.payment-queue .payment-validation button{padding:8px 9px}
.production-card.compact{padding:0!important}

/* Módulo móvil para cobros domiciliarios. */
.collector-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.collector-head h1{margin:4px 0;font:500 34px Georgia,serif}.collector-head p:last-child{margin:0;color:var(--muted)}.collector-search{display:grid;grid-template-columns:1fr auto;gap:8px;position:sticky;top:8px;z-index:8;margin-bottom:18px;padding:8px;background:#f5f2ec}.collector-search input{min-width:0;padding:14px;border:1px solid #bbb4aa;background:#fff;font:inherit}.collector-list{display:grid;gap:10px}.collector-client{display:flex;justify-content:space-between;gap:18px;padding:20px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none}.collector-client h2{margin:7px 0 4px;font:500 22px Georgia,serif}.collector-client p{margin:0 0 7px;color:var(--muted)}.collector-client small{color:var(--muted)}.collector-client>div:last-child{display:grid;justify-items:end;align-content:center;min-width:115px}.collector-client>div:last-child strong{font:500 24px Georgia,serif}.collector-timing{display:inline-block;padding:4px 7px;background:#e7efe8;color:#276039;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.collector-timing.vencido{background:#f8e7e6;color:#8e2322}.collector-empty{padding:35px;background:#fff;border:1px solid var(--line);text-align:center;color:var(--muted)}.collector-profile{margin:16px 0;background:#fff;border-top:5px solid var(--accent);padding:24px}.collector-profile h1{margin:4px 0;font:500 30px Georgia,serif}.collector-profile>p{color:var(--muted)}.collector-profile>div{display:grid;gap:3px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.collector-profile>div strong{font:500 34px Georgia,serif}.collector-profile>div small{color:var(--muted)}.collector-schedule{margin-bottom:14px;background:#fff;border:1px solid var(--line)}.collector-schedule summary{padding:15px 18px;color:var(--accent);font-weight:700}.collector-schedule ul{list-style:none;margin:0;padding:0 18px 14px}.collector-schedule li{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}.collector-payment{display:grid;gap:15px;padding:24px;background:#fff;border:1px solid var(--line)}.collector-payment h2{margin:0;font:500 26px Georgia,serif}.collector-payment label{display:grid;gap:6px;font-size:12px;font-weight:700}.collector-payment input,.collector-payment select{width:100%;padding:14px;border:1px solid #bbb4aa;background:#fff;font:inherit}.collector-payment>label:first-of-type input{font-size:24px;font-weight:700}.collector-payment p{margin:0;color:var(--muted);font-size:12px}.collector-payment button{padding:16px;font-size:15px}.collector-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.thermal-actions{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.thermal-actions a,.thermal-actions button{padding:13px 18px}.thermal-actions a{background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none}.thermal-warning{max-width:80mm;margin:0 auto 12px;padding:10px;background:#f8e7e6;color:#8e2322}.thermal-ticket{box-sizing:border-box;width:80mm;margin:auto;padding:5mm 4mm;background:#fff;color:#000;font:11px/1.35 Arial,sans-serif}.thermal-ticket header{display:grid;gap:4px;text-align:center;border-bottom:1px dashed #000;padding-bottom:10px}.thermal-ticket header strong{font-size:12px}.thermal-ticket header span{font-size:16px;font-weight:800}.thermal-qr{display:block;width:28mm;height:28mm;margin:0 auto 3mm;fill:#000}.thermal-data{padding:9px 0;border-bottom:1px dashed #000}.thermal-data p{margin:3px 0}.thermal-line,.thermal-total{display:flex;justify-content:space-between;gap:10px;padding:10px 0}.thermal-line span{max-width:52mm}.thermal-total{border-top:1px solid #000;border-bottom:1px double #000;font-size:14px}.thermal-ticket footer{padding-top:12px;text-align:center}
@media(max-width:600px){main{padding-left:14px;padding-right:14px}.collector-client{padding:16px}.collector-client h2{font-size:19px}.collector-client>div:last-child{min-width:96px}.collector-client>div:last-child strong{font-size:20px}.collector-two{grid-template-columns:1fr}.thermal-ticket{width:100%;max-width:80mm}}
@media print{@page{size:80mm auto;margin:0}body{margin:0!important;background:#fff!important}body>header,body>nav,.thermal-actions,.thermal-warning{display:none!important}main{width:80mm!important;max-width:none!important;margin:0!important;padding:0!important}.thermal-ticket{width:80mm!important;margin:0!important;box-shadow:none!important}}
.thermal-ticket header{gap:3px}.thermal-ticket header span{font-size:17px}.thermal-ticket header small{font-size:10px}.thermal-ticket header p{margin:0}.thermal-emitter{display:grid;gap:3px;padding:10px 0;text-align:center;border-bottom:1px dashed #000;text-transform:uppercase}.thermal-emitter strong{font-size:13px}.thermal-emitter span{font-size:10px}.thermal-block{padding:9px 0;border-bottom:1px dashed #000}.thermal-block h2,.thermal-certifier h2{margin:0 0 7px;text-align:center;font-size:11px}.thermal-block p,.thermal-certifier p{margin:3px 0}.thermal-line{padding:7px 0}.thermal-line+.thermal-line{border-top:1px dotted #777}.thermal-line strong{white-space:nowrap}.thermal-phrases{padding:9px 0;border-bottom:1px dashed #000;text-align:center;font-size:9px}.thermal-certifier{padding:9px 0;border-bottom:1px dashed #000;overflow-wrap:anywhere;font-size:9px}
/* Composición editorial FEL para papel térmico de 80 mm. */
.thermal-document-head{height:auto!important;min-height:0!important}
.thermal-ticket{padding:5mm 4.5mm 7mm;font:10.5px/1.32 Arial,Helvetica,sans-serif;letter-spacing:0}.thermal-ticket .thermal-qr{width:31mm;height:31mm;margin:0 auto 4mm}.thermal-document-head{display:block!important;padding:0 0 4mm!important;border-bottom:1.5px solid #000!important;text-align:center}.thermal-document-head h1{margin:0;font:800 19px/1 Arial,Helvetica,sans-serif;letter-spacing:.08em}.thermal-document-head>p{margin:1.5mm 0 3mm!important;font-size:9.5px;letter-spacing:.04em}.thermal-document-head dl{margin:0;border-top:1px solid #000;border-bottom:1px solid #000}.thermal-document-head dl div{display:grid;grid-template-columns:34% 66%;padding:1.2mm 0;border-bottom:1px dotted #777;text-align:left}.thermal-document-head dl div:last-child{border:0}.thermal-document-head dt{font-weight:700}.thermal-document-head dd{margin:0;text-align:right;overflow-wrap:anywhere}.thermal-emitter{display:block;padding:4.5mm 0;border-bottom:1.5px solid #000;text-transform:none}.thermal-emitter h2{margin:0 0 2.5mm;font:900 20px/.94 Arial,Helvetica,sans-serif;letter-spacing:.035em}.thermal-emitter p{display:block;margin:1mm 0;font-size:10px}.thermal-emitter p:nth-of-type(1),.thermal-emitter p:nth-of-type(2){font-weight:700}.thermal-block{padding:3.5mm 0;border-bottom:1.5px solid #000}.thermal-block h2,.thermal-certifier h2{margin:0 0 2.5mm;font:800 11px/1 Arial,Helvetica,sans-serif;letter-spacing:.12em;text-align:left}.thermal-client dl,.thermal-certifier dl{margin:0}.thermal-client dl div,.thermal-certifier dl div{display:grid;grid-template-columns:18mm 1fr;gap:1.5mm;margin:1.3mm 0}.thermal-client dt,.thermal-certifier dt{font-weight:700}.thermal-client dd,.thermal-certifier dd{margin:0;overflow-wrap:anywhere}.thermal-detail-head{display:grid;grid-template-columns:1fr auto;align-items:end;padding-bottom:1.5mm;border-bottom:1px solid #000}.thermal-detail-head h2{margin:0}.thermal-detail-head span{font-size:9px;font-weight:800}.thermal-line{align-items:flex-start;padding:2.3mm 0;font-size:10px}.thermal-line+.thermal-line{border-top:1px dotted #777}.thermal-line span{max-width:49mm}.thermal-line strong{font-size:10.5px}.thermal-total{margin-top:1.5mm;padding:3mm 0;border-top:2px solid #000;border-bottom:4px double #000;font-size:14px}.thermal-total span{font-weight:800;letter-spacing:.07em}.thermal-total strong{font-size:17px}.thermal-phrases{padding:3.5mm 1mm;border-bottom:1.5px solid #000;font-size:9px;line-height:1.45}.thermal-certifier{padding:3.5mm 0;border-bottom:1.5px solid #000;font-size:9px}.thermal-certifier dl div{grid-template-columns:24mm 1fr}.thermal-ticket footer{display:grid;gap:1.2mm;padding-top:4mm;text-align:center}.thermal-ticket footer b{font-size:9px;letter-spacing:.08em}.thermal-ticket footer span{font-size:9px}
