:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#17243b;background:#f3f6fb;font-size:16px;--blue:#2459df;--muted:#637188;--line:#e2e8f1}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}button{border:1px solid var(--line);background:white;color:#22344d;border-radius:8px;padding:10px 15px;font-weight:600;font-size:.875rem}button:hover{background:#edf2fc}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:#1748c4}.quiet{background:transparent;border:0;color:var(--muted)}a{color:var(--blue)}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#101e35;color:#b7c5db;padding:30px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:10px;align-items:center;font-size:1.15rem;font-weight:800;letter-spacing:.05em;color:white}.brand img{width:35px;height:35px}.brand-sub{font-size:.8rem;color:#8fa3c1;margin:10px 0 35px 46px}.nav{display:grid;gap:8px}.nav button{display:flex;gap:12px;align-items:center;text-align:left;color:#b7c5db;background:transparent;border:0;padding:13px;font-weight:500}.nav button:hover,.nav button.active{background:#24375b;color:white}.nav button.active{box-shadow:inset 3px 0 #5584ff}.icon{display:inline-flex;width:23px;justify-content:center;font-size:1.1rem}.side-foot{margin-top:auto;padding:22px 10px 0;border-top:1px solid #30415c;font-size:.875rem;line-height:1.8}.side-foot strong{color:white;display:block}.side-foot button{padding:5px 0;color:#aebed6}.main{min-width:0;padding:0 36px 40px}.topbar{height:85px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:14px;font-size:.875rem;color:var(--muted)}.topbar strong{color:#17243b}.connection{display:flex;gap:8px;align-items:center}.connection:before{content:'';width:7px;height:7px;border-radius:50%;background:#20a87b}.connection.offline:before{background:#d94747}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:32px 0 26px}.heading h1{font-size:1.8rem;letter-spacing:-.04em;margin:0 0 8px}.heading p{color:var(--muted);font-size:.9rem;margin:0}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:#637188;text-transform:uppercase;margin-bottom:10px}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 0 26px}.stat{padding:21px 18px;text-align:left;border-radius:12px;box-shadow:0 3px 8px #132d5310;position:relative;overflow:hidden}.stat:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent,#2459df)}.stat strong{display:block;font-size:2rem;color:#17243b;margin-bottom:10px}.stat span{font-size:.875rem;font-weight:500;color:var(--muted)}.stat.s1{--accent:#9e6ae6}.stat.s2{--accent:#e3a232}.stat.s3{--accent:#2459df}.stat.s4{--accent:#eb8351}.stat.s5{--accent:#20a87b}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 3px 8px #132d5305}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:21px 22px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:1rem;margin:0}.panel-head p{margin:6px 0 0;color:var(--muted);font-size:.875rem}.toolbar{display:flex;gap:12px;padding:18px 22px;flex-wrap:wrap}.toolbar input{flex:1;min-width:220px}.toolbar select{width:auto;min-width:150px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d4ddea;border-radius:7px;background:white;color:#17243b;font-size:.9rem}input:focus,textarea:focus,select:focus{border-color:var(--blue)}textarea{min-height:105px;resize:vertical}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.875rem}th{background:#f9fbfe;color:#637188;font-weight:600;padding:13px 20px;border-block:1px solid var(--line);white-space:nowrap}td{padding:18px 20px;border-bottom:1px solid #edf1f7;line-height:1.55}tr:last-child td{border-bottom:0}tr:hover td{background:#fafcff}td strong{display:block;font-weight:600}td small{display:block;color:var(--muted);font-size:.8rem}.link{border:0;padding:0;color:var(--blue);background:transparent;text-align:left;white-space:nowrap}.badge{display:inline-block;border-radius:6px;padding:5px 9px;font-size:.8rem;font-weight:600;white-space:nowrap;background:#eef2f7;color:#53637b}.badge.st0{background:#f0e9fb;color:#7547b7}.badge.st1{background:#fff3d8;color:#926415}.badge.st2{background:#e7eeff;color:#2459df}.badge.st3{background:#ffede3;color:#b66428}.badge.st4{background:#def6ed;color:#198064}.badge.st5{background:#e7edf4;color:#506478}.badge.urgent{background:#ffe7eb;color:#b32c4b}.table-foot{padding:15px 22px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.empty{padding:55px 25px;text-align:center;color:var(--muted)}.empty h3{color:#22344d;margin:0 0 9px}.empty p{margin:0 0 20px}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-visual{background:#101e35;color:white;padding:12vh 12%;display:flex;flex-direction:column;justify-content:center}.auth-visual h1{font-size:3rem;letter-spacing:-.05em;max-width:500px;margin:45px 0 20px}.auth-visual p{color:#b4c5df;line-height:1.7;max-width:420px}.auth-form{display:flex;justify-content:center;align-items:center;padding:40px}.auth-form form{width:100%;max-width:390px}.auth-form h2{font-size:1.6rem;letter-spacing:-.035em}.auth-form p{color:var(--muted);line-height:1.6}.auth-form button{width:100%;margin-top:12px}.field{display:block;margin-bottom:17px}.field>span{display:block;font-size:.875rem;font-weight:600;margin-bottom:8px}.error{color:#b32c4b;font-size:.875rem;line-height:1.5;min-height:20px}.hint{color:var(--muted);font-size:.8rem;line-height:1.6}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.full{grid-column:1/-1}dialog{padding:0;border:0;border-radius:14px;box-shadow:0 20px 80px #07162c55;width:min(830px,calc(100vw - 32px));max-height:90vh;overflow:auto;color:#17243b}dialog::backdrop{background:#101e3577}.dialog-head{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-head h2{margin:0;font-size:1.35rem;letter-spacing:-.025em}.dialog-head p{color:var(--muted);font-size:.875rem;margin:6px 0 0}.dialog-body{padding:24px 26px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 26px;border-top:1px solid var(--line);background:#f9fbfe}.section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:10px 0 20px}.history{display:grid;gap:14px;margin-top:20px}.history article{border-left:2px solid #d7e3fa;padding:0 0 0 16px;font-size:.9rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.history article small{display:block;color:var(--muted);font-size:.8rem;margin:5px 0}.detail-summary{background:#f3f6fb;padding:18px;border-radius:9px;margin-bottom:24px;font-size:.9rem;line-height:1.7}.detail-summary p{margin:6px 0}.detail-summary strong{color:#17243b}.settings{padding:26px}.settings h2{margin:0 0 12px;font-size:1.1rem}.settings p{font-size:.9rem;color:var(--muted);line-height:1.7}.settings + .settings{border-top:1px solid var(--line)}.user-list{margin:20px 0;display:grid;gap:12px}.user-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px}.notice{border:1px solid #d6e2ff;background:#eef4ff;color:#2857a1;padding:15px;border-radius:9px;font-size:.875rem;line-height:1.6;margin-bottom:18px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10;max-width:90vw;background:#182b46;color:white;border-radius:9px;padding:14px 22px;box-shadow:0 8px 30px #101e3520;display:none}.loading{padding:60px;text-align:center;color:var(--muted)}.print-sheet{display:none}.print-sheet h1{letter-spacing:.04em}.print-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.print-box{border:1px solid #cad2dc;padding:18px;margin:18px 0;white-space:pre-wrap}.signatures{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}.signature{height:110px;border:1px solid #cad2dc;padding:14px;font-size:.875rem}.print-sheet footer{margin-top:25px;font-size:.8rem;color:#637188}.repair-problem{max-width:280px;overflow-wrap:anywhere}.count{border-radius:20px;background:#f0f4fa;padding:4px 10px;font-size:.8rem;color:var(--muted)}
@media(max-width:1100px){.shell{grid-template-columns:195px 1fr}.main{padding-inline:22px}.cards{gap:8px}.stat{padding:17px 12px}.stat span{font-size:.8rem}.sidebar{padding-inline:12px}.brand{font-size:1rem}td,th{padding-inline:14px}}
@media(max-width:760px){.shell{display:block}.sidebar{height:auto;position:static;padding:18px;gap:16px}.brand-sub,.side-foot{display:none}.nav{display:flex;overflow-x:auto;gap:5px}.nav button{padding:10px;white-space:nowrap}.icon{display:none}.main{padding:0 16px 30px}.topbar{height:65px;flex-wrap:wrap;font-size:.8rem}.heading{align-items:flex-start;gap:12px}.heading h1{font-size:1.5rem}.heading .primary{max-width:150px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:last-child{grid-column:1/-1}.stat strong{font-size:1.6rem}.panel-head{padding:18px}.toolbar{padding:15px}.toolbar input{min-width:100%}.auth-page{display:block}.auth-visual{padding:30px}.auth-visual h1{display:none}.auth-visual p{display:none}.auth-form{padding:30px 22px}.grid2{grid-template-columns:1fr}.dialog-body,.dialog-head{padding:20px}.dialog-actions{padding:15px;flex-wrap:wrap}.connection{max-width:170px}.print-grid{grid-template-columns:1fr}}
@media print{body{background:white;font-size:12pt}.shell,.auth-page,#toast,dialog{display:none!important}.print-sheet{display:block!important;color:black;padding:10mm}.print-sheet h1{font-size:22pt}.print-sheet p{line-height:1.5}.print-grid{display:grid;grid-template-columns:1fr 1fr}.print-box,.signatures{break-inside:avoid}@page{size:A4;margin:10mm}}

.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;margin:20px 0 30px}.photo-card{display:block;border:1px solid var(--line);border-radius:9px;overflow:hidden;text-decoration:none;color:#17243b}.photo-card img{width:100%;height:150px;object-fit:cover;background:#f3f6fb;display:block}.photo-card strong,.photo-card span{display:block;padding:8px 12px;overflow-wrap:anywhere;font-size:.875rem}.photo-card span{padding-top:0;color:var(--muted);font-size:.8rem}

.photo-controls{display:flex;flex-wrap:wrap;gap:10px}#photoSelection{overflow-wrap:anywhere}
.business-panel{margin-top:24px}.document-line{display:grid;grid-template-columns:minmax(160px,3fr) 65px 110px 85px 40px;gap:10px;align-items:end;margin-bottom:14px}.document-line label span{display:block;font-size:.8rem;font-weight:600;margin-bottom:6px}.document-total{padding:20px;text-align:right}.document-total strong{font-size:1.2rem}.document-total p{color:var(--muted)}.message-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8fc;border:1px solid var(--line);border-radius:8px;padding:20px;margin-bottom:20px}.button-link{border:1px solid var(--line);border-radius:8px;padding:10px 15px;text-decoration:none;font-weight:600;font-size:.875rem}.stats-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-cards .stat strong{font-size:1.5rem}.stat-bars{display:grid;gap:15px;margin-top:20px}.stat-bar{display:grid;grid-template-columns:150px 1fr 35px;gap:12px;align-items:center;font-size:.875rem}.stat-bar progress{width:100%;height:18px;accent-color:var(--blue)}.related-docs{margin-bottom:22px}.toolbar label{font-size:.875rem}.toolbar label input{margin-top:6px}
@media(max-width:760px){.document-line{grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);padding-bottom:16px}.document-line label:first-child{grid-column:1/-1}.document-line .remove-line{justify-self:end}.stat-bar{grid-template-columns:110px 1fr 25px}.stats-cards .stat strong{font-size:1.1rem}.photo-controls .button-link{display:block}}

.device-label{width:80mm;min-height:40mm;box-sizing:border-box;border:1px solid #000;padding:3mm;display:flex;align-items:center;gap:3mm;background:white;color:black;max-width:100%}.device-label img{width:32mm;height:32mm;flex-shrink:0}.device-label p{margin:1mm 0;font-size:10pt;overflow-wrap:anywhere}.device-label strong{font-size:11pt}#qrPreview{margin-top:20px}@media print{.qr-print-sheet{padding:0!important}.device-label{break-inside:avoid}}

.logo-preview{display:block;max-width:220px;max-height:100px;object-fit:contain;margin:15px 0}.brand img{object-fit:contain;max-width:100px}.sales-logo{max-width:60mm;max-height:25mm;object-fit:contain;margin-bottom:4mm}

.sales-sheet{font:10pt Arial,sans-serif;color:#102980}.sales-header{display:grid;grid-template-columns:1fr 1fr;gap:12mm;align-items:end;margin-bottom:5mm}.sales-header p{margin:2mm 0!important;font-size:10pt;line-height:1.5!important}.sales-header .sales-logo{max-width:95mm;max-height:28mm;margin-bottom:2mm}.sales-address{white-space:pre-line;line-height:1.5}.sales-customer{color:#111;padding:5mm 2mm}.sales-customer strong{display:block;margin-bottom:8mm}.sales-title{font-size:16pt;margin:3mm 0;color:#0c258b}.sales-sheet table{width:100%;border-collapse:collapse;font-size:9pt;table-layout:fixed}.sales-sheet th{background:#0b218a;color:white;padding:2.5mm 1.5mm;font-weight:600;border:0}.sales-sheet td{background:#e4e3fb;padding:3mm 1.5mm;vertical-align:top;border:1px solid #c4c7e1;color:#111;overflow-wrap:anywhere}.sales-meta{margin-bottom:4mm}.sales-meta td{text-align:center;padding:5mm 1mm;color:#0b218a}.sales-lines{min-height:95mm}.sales-lines .col-item{width:43%}.sales-lines .col-qty{width:7%}.sales-lines .col-price{width:13%}.sales-lines .col-total{width:16%}.sales-lines .col-tax{width:8%}.sales-lines td{border-top:0;border-bottom:0}.sales-lines tbody tr{break-inside:avoid}.sales-lines .sales-origin td{font-size:8pt;padding:2mm}.sales-sheet .numeric{text-align:right;white-space:nowrap}.sales-bottom{display:grid;grid-template-columns:1.05fr 1fr;gap:20mm;margin-top:4mm;break-inside:avoid}.sales-vat td{font-size:9pt}.sales-bank{margin:8mm 2mm 0;color:#111;font-size:9pt;line-height:1.5;overflow-wrap:anywhere}.sales-totals td,.sales-totals th{padding:3mm 2mm}.sales-total-ttc td,.sales-total-ttc th{background:#e4e3fb;color:#102980;font-weight:bold}.sales-pay th,.sales-pay td{background:#0b218a!important;color:white!important;font-weight:bold}.sales-footer{margin-top:5mm;color:#111;white-space:pre-line;font-size:8pt}.sales-footer p{line-height:1.4!important;margin:2mm 0}.sales-sheet thead{display:table-header-group}@media print{.sales-sheet{padding:0!important}.sales-sheet,.sales-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.sales-header,.sales-meta,.sales-bottom{break-inside:avoid}}

.review-email-actions{position:sticky;bottom:0;z-index:2;box-shadow:0 -4px 12px #17243b10}.review-email-actions button{min-height:44px}#reviewEmailForm textarea{height:180px;max-height:30vh;resize:vertical}
