:root{--ink:#172f3b;--muted:#71838d;--paper:#f4f7f8;--line:#e4eaed;--orange:#ef7845;--orange-soft:#fff1e9;--green:#25806a;--green-soft:#e9f5ef;--navy:#142f3b;--white:#fff;--shadow:0 4px 18px #132f3904;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #f4b290;outline-offset:3px}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}button,input,select,textarea{border-radius:8px}input,select,textarea{border:1px solid #d7e0e5;padding:11px 12px;color:var(--ink);background:white;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #f7c4a9;outline-offset:1px}textarea{resize:vertical;line-height:1.5;min-height:90px}input[type=date]{width:auto}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1.1px;font-weight:700;line-height:1.2}h2{font-size:21px;letter-spacing:-.4px}h3{font-size:16px}small{font-size:11px}.app-shell{display:flex;min-height:100vh}.sidebar{width:248px;background:var(--navy);color:#ecf0f1;padding:30px 18px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:10}.brand{display:flex;align-items:center;gap:11px;padding:0 6px}.brand span{font-size:13px;font-weight:780;letter-spacing:.4px;line-height:1.5}.brand small{display:block;color:#9fb3bc;font-size:9px;letter-spacing:1.8px;font-weight:500}.workspace-label{font-size:9px;letter-spacing:1.8px;color:#91a9b4;margin:45px 12px 17px}.sidebar nav{display:grid;gap:6px}.sidebar nav button{display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:9px;color:#a9bdc6;text-align:left;font-size:13px;font-weight:550}.sidebar nav button:hover{background:#ffffff09}.sidebar nav button.active{background:#284653;color:white}.sidebar nav button.active .nav-dot{background:var(--orange)}.sidebar nav button svg{width:19px;height:19px;flex-shrink:0}.nav-dot{width:6px;height:6px;border-radius:50%;margin-left:auto}.nav-count{margin-left:auto;padding:2px 6px;background:#ef784527;color:#ffb28e;border-radius:4px;font-size:10px}.sidebar-bottom{margin-top:auto;padding:30px 15px 22px}.paper-icon{border:1px solid #4a6571;width:32px;height:32px;display:grid;place-items:center;border-radius:9px;margin-bottom:15px;color:#f5a27c;font-size:19px}.sidebar-bottom strong{font-size:13px;font-weight:500}.sidebar-bottom p{font-size:11px;line-height:1.7;color:#8fa8b5;margin-top:6px}.text-button{padding:0;color:var(--orange);font-size:12px}.sidebar-bottom .text-button{display:flex;justify-content:space-between;width:100%;margin-top:17px;color:#f4b08f}.user{border-top:1px solid #ffffff11;display:flex;padding:20px 5px 0;gap:10px;align-items:center}.avatar{width:34px;height:34px;display:grid;place-items:center;background:#36515e;border-radius:50%;font-size:12px;color:#fff}.user strong{font-size:12px;font-weight:550}.user span{display:block;color:#91a9b4;font-size:9px;margin-top:3px}.workspace{margin-left:248px;width:calc(100% - 248px);min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:12px;color:var(--muted)}.breadcrumb{display:flex;gap:15px}.breadcrumb strong{color:var(--ink);font-weight:550}.breadcrumb span{color:#c6d0d5}.topbar-right{display:flex;gap:8px;align-items:center;font-size:11px}.local-indicator{width:6px;height:6px;background:#7eaa98;border-radius:50%}.demo-chip{font-size:9px;font-weight:700;letter-spacing:1px;border:1px solid #e1e8eb;padding:5px 7px;border-radius:4px;margin-left:12px;color:var(--muted)}.demo-banner{display:flex;align-items:center;gap:9px;padding:12px 36px;background:#fffaf1;border-bottom:1px solid #f4ead6;color:#8d7442;font-size:10px}.demo-banner strong{font-weight:650}.demo-dot{width:5px;height:5px;background:#d7aa5f;border-radius:50%}.demo-banner button{margin-left:auto;font-size:10px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}main{padding:34px 36px 26px;flex:1;max-width:1650px;width:100%;margin:auto}.eyebrow{font-size:10px;letter-spacing:1.65px;color:var(--muted);font-weight:650;margin-bottom:10px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.subtitle{color:var(--muted);font-size:12px;line-height:1.6;margin-top:9px}.heading-actions{display:flex;align-items:center;gap:9px}.btn{border:1px solid #dce4e7;background:white;padding:11px 14px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;min-height:38px}.btn svg{width:15px;height:15px}.btn:hover{border-color:#b0c2cb;background:#f9fbfb}.btn-primary{background:var(--navy);border-color:var(--navy);color:white}.btn-primary:hover{background:#284957;border-color:#284957}.btn-accent{background:var(--orange);border-color:var(--orange);color:white}.btn-accent:hover{background:#dc6937;border-color:#dc6937}.btn-small{padding:7px 10px;font-size:10px;min-height:30px}.btn-quiet{background:transparent;border-color:transparent;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:26px}.stat{background:white;border:1px solid var(--line);border-radius:11px;padding:17px 19px;box-shadow:var(--shadow)}.stat-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.stat-label svg{width:16px;height:16px;color:#8ca0aa}.stat-value{font-size:28px;font-weight:660;letter-spacing:-1px;margin-top:9px}.stat-foot{font-size:10px;color:var(--muted);margin-top:4px}.stat-foot em{font-style:normal;color:var(--green)}.stat.warm{background:#fff6f0;border-color:#f2e0d4}.stat.warm .stat-value{color:#b9653e}.agenda-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;gap:15px}.date-select{display:flex;align-items:center;gap:10px}.date-select input{font-size:11px;background:white;max-width:145px;padding:8px 10px}.date-label{font-size:15px;font-weight:600;text-transform:capitalize}.pill-group{border:1px solid #dfe6e9;border-radius:8px;display:flex;padding:3px;background:#fff}.pill-group button{padding:7px 11px;border-radius:5px;font-size:10px;color:var(--muted)}.pill-group button.selected{background:var(--navy);color:white}.small-legend{font-size:10px;color:var(--muted)}.agenda-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.day-column{background:#edf2f4;border:1px solid #e3e9ec;border-radius:12px;padding:17px}.column-heading{display:flex;align-items:center;gap:10px;margin:1px 1px 17px}.sun-icon{background:#fff6e9;color:#b58b39;padding:8px;display:flex;border-radius:8px}.sun-icon svg{width:17px;height:17px}.moon-icon{background:#e1eaf2;color:#5b7c9c}.column-heading h2{font-size:15px}.column-heading p{font-size:10px;color:var(--muted);margin-top:4px}.count-chip{margin-left:auto;font-size:10px;background:#e2e9ed;border-radius:20px;padding:5px 8px;color:#6a7f8a}.appointment{background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:10px;padding:17px;box-shadow:0 2px 3px #17323c03}.appointment-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.plate{font-size:11px;font-weight:700;letter-spacing:.8px;color:#344b58;background:#f1f4f5;border:1px solid #e6ebed;border-radius:4px;padding:4px 7px;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:550;padding:4px 7px;border-radius:4px;background:#edf2f5;color:#648096}.badge.green{color:var(--green);background:var(--green-soft)}.badge.orange{color:#be7142;background:var(--orange-soft)}.badge.gray{color:#7b878c;background:#f1f3f4}.appointment h3{font-size:14px}.appointment .vehicle{font-size:11px;color:var(--muted);margin-top:4px}.appointment-service{border-top:1px solid #eef2f3;padding-top:12px;margin-top:13px;font-size:11px;display:flex;align-items:center;gap:7px}.appointment-service svg{width:13px;height:13px;color:#91a3ac}.appointment-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:10px;color:var(--muted)}.appointment-bottom select{border:0;padding:3px 12px 3px 0;font-size:10px;max-width:120px;background:transparent;color:var(--muted)}.appointment-bottom button{padding:0;font-size:10px;color:#bc693e}.add-in-column{display:flex;gap:6px;justify-content:center;width:100%;padding:12px;border:1px dashed #cbd7de;border-radius:8px;color:#7c909c;font-size:11px}.paper-note{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin-top:21px}.paper-note>svg{width:25px;height:25px;color:#91a4ad}.paper-note strong{font-size:11px}.paper-note p{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.5}.paper-note button{margin-left:auto}.workspace-footer{display:flex;justify-content:space-between;padding:17px 36px 24px;font-size:9px;color:#9aaab2}.panel{background:white;border:1px solid var(--line);border-radius:11px;padding:22px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.panel-heading h2{font-size:16px}.search{position:relative}.search input{padding-left:34px;background:#fff;font-size:11px}.search svg{position:absolute;left:11px;top:12px;width:14px;height:14px;color:var(--muted)}.client-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px}.client-list .search{margin-bottom:14px}.client-card{padding:15px 12px;border:1px solid transparent;border-radius:9px;width:100%;text-align:left;margin-bottom:6px}.client-card.selected{background:#fff5ef;border-color:#f0d4c3}.client-card:not(.selected):hover{background:white}.client-card strong{font-size:12px;display:block}.client-card span{font-size:10px;color:var(--muted);display:block;margin-top:5px;line-height:1.5}.client-card .balance-mini{font-size:12px;color:#314c5a;font-weight:550;margin-top:7px}.account-summary{display:flex;justify-content:space-between;align-items:center;gap:15px}.account-summary h2{font-size:23px}.account-amount{text-align:right}.account-amount small{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.account-amount strong{font-size:29px;letter-spacing:-.9px}.muted{color:var(--muted)}.micro{font-size:10px;line-height:1.6}.positive{color:var(--green)}.account-tools{display:flex;gap:9px;border-bottom:1px solid var(--line);padding:18px 0 21px;margin-bottom:22px;flex-wrap:wrap}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.section-heading h3{font-size:13px}.vehicles{display:grid;gap:11px;margin-bottom:26px}.vehicle-history{border:1px solid var(--line);border-radius:9px;overflow:hidden}.vehicle-history>summary{display:flex;align-items:center;gap:12px;padding:14px;cursor:pointer;list-style:none}.vehicle-history>summary:after{content:'⌄';color:#879ba6;margin-left:auto}.vehicle-history[open]>summary:after{content:'⌃'}.vehicle-history summary strong{font-size:11px}.vehicle-history summary small{display:block;color:var(--muted);margin-top:3px}.timeline{border-top:1px solid var(--line);padding:18px 18px 4px;background:#fbfcfc}.visit{padding:0 0 18px 21px;margin:0 0 4px 4px;border-left:1px solid #d4e0e5;position:relative}.visit:before{content:'';position:absolute;left:-4px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--orange)}.visit-date{font-size:9px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.7px;margin-bottom:6px}.visit strong{font-size:12px}.visit ul{font-size:10px;line-height:1.7;color:#5a717f;padding-left:16px;margin:8px 0}.visit-parts{padding:10px;background:white;border:1px solid #e6ecee;border-radius:6px;font-size:10px;line-height:1.7}.visit-parts .part-row{display:flex;justify-content:space-between;gap:12px}.visit-totals{font-size:10px;display:flex;flex-wrap:wrap;gap:12px;margin-top:9px;color:#587181}.ledger-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{font-size:9px;text-transform:uppercase;letter-spacing:.8px;font-weight:550;color:#8b9ca5;text-align:left;padding:11px 9px;border-bottom:1px solid var(--line)}.data-table td{padding:13px 9px;border-bottom:1px solid #edf1f3;vertical-align:top;line-height:1.5}.data-table th:first-child,.data-table td:first-child{padding-left:0}.data-table th:last-child,.data-table td:last-child{padding-right:0}.data-table td small{color:var(--muted);display:block;font-size:9px;line-height:1.5;margin-top:3px}.data-table .numeric{text-align:right;white-space:nowrap}.data-table tr:last-child td{border-bottom:0}.tiny-action{font-size:9px;color:#987564;text-decoration:underline;text-underline-offset:2px;padding:0}.jobs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.job-card .job-header{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.job-card h2{font-size:16px;margin-bottom:6px}.job-card .job-meta{font-size:10px;color:var(--muted);line-height:1.6}.job-card ul{font-size:11px;color:#657c89;line-height:1.85;margin:17px 0;padding-left:17px}.job-card .job-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin-top:15px;font-size:11px}.job-card .job-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.job-card select{font-size:10px;width:auto;padding:7px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.toolbar .search{width:300px}.supplier-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:22px}.supplier-card{display:flex;align-items:center;justify-content:space-between;gap:15px}.supplier-card h3{font-size:13px}.supplier-card strong{font-size:23px;font-weight:650}.invoice-card{margin-bottom:18px}.invoice-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.invoice-top h3{font-size:14px;margin-bottom:5px}.invoice-footer{display:flex;gap:22px;align-items:center;justify-content:flex-end;border-top:1px solid var(--line);padding-top:18px;margin-top:12px;font-size:10px;color:var(--muted)}.invoice-footer strong{font-size:14px;color:var(--ink);display:block;margin-top:4px}.invoice-payments{font-size:10px;color:var(--muted);margin-top:14px;line-height:1.8}.callout{padding:15px 17px;border-radius:8px;background:#eaf1f5;border:1px solid #dce6ec;font-size:11px;color:#5d7889;line-height:1.6;margin-bottom:21px}.callout strong{color:#314f62}.notebook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.notebook-card{position:relative;padding-left:25px}.notebook-card:before{content:'';position:absolute;left:0;top:22px;bottom:22px;width:3px;background:#e7ac78;border-radius:2px}.notebook-card.done:before{background:#64a58a}.notebook-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.notebook-card h3{font-size:16px;margin-bottom:4px}.notebook-amount{font-size:27px;margin:16px 0 8px;letter-spacing:-.5px}.notebook-card p{font-size:11px;color:var(--muted);line-height:1.6}.notebook-footer{display:flex;align-items:center;justify-content:space-between;margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.empty{padding:34px 15px;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}.empty span{display:block;font-size:22px;margin-bottom:8px}dialog{padding:0;width:620px;max-width:calc(100vw - 28px);max-height:calc(100vh - 40px);border:0;border-radius:14px;box-shadow:0 30px 100px #09253233;color:var(--ink)}dialog::backdrop{background:#0d253b66;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;padding:25px 27px 21px;border-bottom:1px solid var(--line)}#modal-eyebrow{font-size:9px;color:var(--muted);letter-spacing:1.5px;margin-bottom:7px}#modal-title{font-size:23px}.icon-button{font-size:26px;color:#8396a0;padding:3px 8px}.modal-body{padding:24px 27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:550}.field input,.field select,.field textarea{font-size:12px;font-weight:400}.field small{font-size:9px;line-height:1.5;color:var(--muted);font-weight:400}.field.full{grid-column:1/-1}.field input[type=date]{width:100%}.form-footer{display:flex;justify-content:flex-end;gap:9px;padding:18px 27px;border-top:1px solid var(--line);background:#f9fbfb}.form-error{color:#a64236;background:#fff1ed;padding:10px 12px;border-radius:6px;font-size:11px;line-height:1.5;margin-top:16px}.form-error:empty{display:none}.helper{font-size:11px;line-height:1.7;color:var(--muted);margin-bottom:18px}.helper strong{color:var(--ink)}.invoice-line{border:1px solid var(--line);border-radius:9px;padding:15px;margin-top:14px}.line-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;font-weight:600}.invoice-line .form-grid{gap:10px}.invoice-line .field{font-size:10px}.invoice-line .field input,.invoice-line .field select{font-size:11px;padding:9px}.invoice-preview{font-size:12px;line-height:1.7;margin-top:16px;background:#f1f5f6;padding:12px;border-radius:7px}.check-row{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#637b88;line-height:1.6;margin-top:18px}.check-row input{width:auto;margin-top:3px}.about-content p,.about-content li{font-size:12px;line-height:1.8;color:#5b7482}.about-content h3{margin:20px 0 8px}.about-content ul{padding-left:18px;margin:7px 0}.about-content .badge{margin-bottom:14px}.danger-button{color:#ac5140}#toast{position:fixed;bottom:26px;left:calc(50% + 124px);transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#183d42;color:white;padding:13px 20px;border-radius:9px;box-shadow:0 7px 28px #172f3b22;font-size:12px;z-index:50;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}#print-area{display:none}.storage-warning{color:#a64236;background:#fff1ed;padding:12px;font-size:11px}.page-subnav{display:flex;gap:6px;flex-wrap:wrap}.balance-credit{color:var(--green)!important}@media(min-width:1500px){main{padding-top:43px}.appointment{padding:21px}.sidebar{width:266px}.workspace{margin-left:266px;width:calc(100% - 266px)}}@media(max-width:1150px){.sidebar{width:210px;padding-left:12px;padding-right:12px}.brand{gap:8px}.brand img{width:40px;height:40px}.brand span{font-size:11px}.workspace{margin-left:210px;width:calc(100% - 210px)}main{padding:28px 24px}.topbar{padding:0 24px}.demo-banner{padding:11px 24px;flex-wrap:wrap;gap:6px}.demo-banner>span:not(.demo-dot){display:block}.client-layout{grid-template-columns:205px minmax(0,1fr);gap:16px}.stat{padding:15px}.stat-value{font-size:24px}.small-legend{display:none}.heading-actions{gap:6px}.btn{padding:10px 11px}h1{font-size:29px}.workspace-footer{padding:17px 24px}.workspace-footer span{display:none}.account-amount strong{font-size:23px}}@media(max-width:850px){.sidebar{position:static;width:100%;padding:15px 18px;display:block}.app-shell{display:block}.brand{padding:0}.brand span{font-size:12px}.brand img{width:38px;height:38px}.brand small{font-size:8px}.workspace-label,.sidebar-bottom,.user{display:none}.sidebar nav{display:flex;gap:5px;margin-top:17px;overflow:auto}.sidebar nav button{padding:10px 12px;font-size:11px;gap:6px;white-space:nowrap}.sidebar nav button svg{width:15px;height:15px}.nav-dot{display:none}.workspace{margin-left:0;width:100%}.topbar{height:48px}.demo-banner{padding:10px 22px}.page-heading{align-items:flex-start}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.stats{grid-template-columns:repeat(4,1fr);gap:9px}.stat-label{font-size:10px}.stat-label svg{display:none}.stat-value{font-size:23px}.stat-foot{font-size:9px}#toast{left:50%}}@media(max-width:640px){main{padding:25px 17px}.topbar{padding:0 18px}.topbar-right{font-size:9px}.demo-chip{margin-left:3px}.demo-banner{padding:10px 17px;font-size:9px}.demo-banner button{font-size:9px}.page-heading{display:block;margin-bottom:23px}.heading-actions{margin-top:17px;justify-content:flex-start}.eyebrow{font-size:9px}h1{font-size:28px}.subtitle{font-size:11px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:14px}.stat-value{font-size:26px}.agenda-toolbar{align-items:flex-start}.date-select{flex-direction:column;align-items:flex-start;gap:8px}.date-label{font-size:13px}.date-select input{font-size:10px}.agenda-grid{grid-template-columns:1fr;gap:15px}.day-column{padding:15px}.paper-note{padding:15px}.paper-note button{display:none}.workspace-footer{padding:16px 18px}.client-layout{grid-template-columns:1fr}.client-list{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.client-list .search{grid-column:1/-1}.client-card{padding:11px}.client-card span{font-size:9px}.client-card .balance-mini{font-size:11px}.panel{padding:17px}.account-summary{align-items:flex-start}.account-summary h2{font-size:20px}.account-amount strong{font-size:22px}.account-amount small{font-size:9px}.jobs-grid,.supplier-summary,.notebook-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap;gap:12px}.toolbar .search{width:100%}.data-table{font-size:10px}.data-table th{font-size:8px}.data-table td{padding:11px 6px}.vehicle-history>summary{gap:8px;padding:12px}.vehicle-history summary strong{font-size:10px}.plate{font-size:10px}.timeline{padding:15px 12px 4px}.invoice-footer{gap:12px;justify-content:space-between;flex-wrap:wrap}.invoice-top{align-items:flex-start}.invoice-top h3{font-size:13px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-heading{padding:22px}.modal-body{padding:22px}.form-footer{padding:15px 22px}#modal-title{font-size:20px}.invoice-line .form-grid{grid-template-columns:1fr 1fr}.invoice-line .field.full{grid-column:1/-1}.account-tools{gap:7px}.account-tools .btn{font-size:10px}.page-subnav{font-size:10px}.vehicle-history summary small{font-size:9px}.data-table .wide-only{display:none}}
@media print{@page{size:A4 portrait;margin:14mm}.app-shell,dialog,#toast{display:none!important}#print-area{display:block!important;color:#111;font-family:Arial,sans-serif}#print-area .print-header{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:2px solid #223c4b}#print-area .print-header img{width:42px;height:42px}#print-area h1{font-size:20px;letter-spacing:0}#print-area p{font-size:10px;margin-top:6px}#print-area .print-meta{display:flex;justify-content:space-between;font-size:9px;padding:12px 0}#print-area h2{font-size:13px;background:#e8edf0;padding:9px;margin-top:15px;print-color-adjust:exact}#print-area table{width:100%;border-collapse:collapse;font-size:10px;table-layout:fixed}#print-area th{text-align:left;font-size:9px;padding:8px;border-bottom:1px solid #aaa}#print-area td{border-bottom:1px solid #ccc;padding:10px 8px;vertical-align:top;overflow-wrap:anywhere}#print-area tr{break-inside:avoid}#print-area .handwritten td{height:34px;color:#aaa}#print-area .print-note{font-size:9px;margin-top:17px;line-height:1.6}#print-area .write-lines{height:28px;border-bottom:1px solid #ccc}#print-area footer{font-size:8px;color:#666;margin-top:18px}#print-area .cancelled{text-decoration:line-through;color:#888}}

@media (max-width:850px){.sidebar nav button{min-height:44px}.btn,.add-in-column{min-height:44px}input,select{min-height:44px}.pill-group button{min-height:38px}.tiny-action{display:inline-flex;align-items:center;min-height:32px}.appointment-bottom select{min-height:40px}.appointment-bottom button{min-height:40px}.form-footer{flex-wrap:wrap}.vehicle-history>summary{min-height:58px}}

.demo-banner{position:sticky;top:0;z-index:8}.demo-chip{cursor:pointer}@media(max-width:850px){.demo-banner{display:flex;flex-wrap:wrap}.demo-banner>span:not(.demo-dot){width:100%;font-size:10px;line-height:1.5;order:3}.demo-banner button{min-height:32px}.demo-chip{min-height:34px}.topbar-right{gap:5px}.local-indicator{display:none}}

/* Search and quick-entry controls keep record selection explicit on touch and keyboard. */
[hidden]{display:none!important}
.history-search-panel{padding:18px 20px;margin-bottom:27px;border:1px solid #dce5e9;border-radius:11px;background:white}
.history-search-panel>label{display:block;font-size:13px;font-weight:650;margin-bottom:10px}
.history-search-panel>.search{max-width:720px}
.history-search-panel .search input,.vehicle-picker .search input{font-size:16px;min-height:46px;padding-left:38px}
.history-search-panel>.search>svg,.vehicle-picker .search>svg{width:17px;height:17px;top:14px}
.history-search-panel>p{font-size:11px;color:var(--muted);line-height:1.5;margin-top:8px}
.history-results-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:15px 0 8px;font-size:11px;color:var(--muted)}
.history-results-list{list-style:none;padding:0;margin:0;max-height:330px;overflow:auto;overscroll-behavior:contain}
.vehicle-result{width:100%;display:flex;align-items:center;gap:11px;min-height:66px;padding:12px;text-align:left;background:white;border:1px solid var(--line);border-radius:7px;margin:4px 0;touch-action:manipulation}
.vehicle-result:hover,.vehicle-result[aria-selected=true]{background:var(--orange-soft);border-color:#ebba9c}
.vehicle-result-detail{display:block;min-width:0;flex:1;overflow-wrap:anywhere;font-weight:400}
.vehicle-result-detail strong{display:block;font-size:13px;line-height:1.5}
.vehicle-result-detail small{display:block;font-size:12px;line-height:1.5;color:#5d7481;margin-top:2px}
.vehicle-result .plate{flex-shrink:0;max-width:46%;white-space:normal;overflow-wrap:anywhere}
.history-result-arrow{font-size:20px;color:var(--orange)}
.vehicle-search-empty,.vehicle-search-status{font-size:12px;line-height:1.5;color:var(--muted);font-weight:400;padding:8px 0}
.vehicle-picker{min-width:0}
.vehicle-picker-results{max-height:245px;overflow-y:auto;overscroll-behavior:contain;padding:2px;scroll-padding:5px}
.vehicle-picker-change{align-self:flex-start;min-height:32px}
.vehicle-record .vehicle-history{border:0}
.vehicle-record .vehicle-history>summary{padding:0 0 18px}
.appointment-mode{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.appointment-mode button{min-height:44px;white-space:normal}
.appointment-mode button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}
.quick-appointment{grid-column:1/-1;padding:15px;border:1px solid var(--line);border-radius:9px;margin:0;min-width:0}
.quick-appointment legend{font-size:12px;font-weight:650;padding:0 6px}
.quick-appointment .field input,.quick-appointment .field select{font-size:16px}
.quick-vehicle-matches{grid-column:1/-1;min-width:0}
.quick-match-button{display:block;min-height:44px;text-align:left;font-size:12px;line-height:1.5;border:1px solid #dce5e9;padding:9px;margin-top:5px;background:#f7fafb;width:100%}
.quick-appointment .check-row{font-size:12px}
.quick-appointment .check-row input{min-height:20px;min-width:20px;flex:none}
@media(max-width:640px){.history-search-panel{padding:16px;margin-bottom:23px}.vehicle-result{gap:8px;padding:10px}.vehicle-result .plate{font-size:10px;max-width:39%}.history-results-heading{align-items:flex-start}.history-results-heading .tiny-action{min-height:36px}.quick-appointment{padding:12px}.modal-body .form-grid{min-width:0}.field{min-width:0}.field input,.field select{min-width:0}.vehicle-picker-results{max-height:220px}dialog{max-height:calc(100dvh - 24px)}}

/* Work history is deliberately progressive: customer, vehicle, then one visit. */
.jobs-hierarchy{display:grid;gap:12px}
.jobs-client{padding:0;overflow:hidden}
.jobs-client>summary,.jobs-vehicle>summary{display:flex;align-items:center;gap:12px;min-height:76px;padding:18px 20px;cursor:pointer;list-style:none}
.jobs-client>summary::-webkit-details-marker,.jobs-vehicle>summary::-webkit-details-marker,.job-history-entry>summary::-webkit-details-marker{display:none}
.jobs-client>summary:after,.jobs-vehicle>summary:after,.job-history-entry>summary:after{content:'＋';margin-left:auto;color:#8298a3;font-size:17px;flex:none}
.jobs-client[open]>summary:after,.jobs-vehicle[open]>summary:after,.job-history-entry[open]>summary:after{content:'−'}
.jobs-group-icon{display:flex;padding:9px;border-radius:8px;background:#edf3f6;color:#647e8c}
.jobs-group-icon svg{width:18px;height:18px}
.jobs-group-label{display:block;min-width:0;overflow-wrap:anywhere}
.jobs-group-label strong{font-size:14px;line-height:1.5}
.jobs-group-label small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:3px}
.jobs-client-content{padding:0 20px 18px;border-top:1px solid var(--line);background:#fbfcfd}
.jobs-vehicle{border:1px solid var(--line);border-radius:8px;background:white;margin-top:12px;overflow:hidden}
.jobs-vehicle>summary{padding:14px;min-height:68px}
.jobs-vehicle>summary .plate{max-width:42%;white-space:normal;overflow-wrap:anywhere;flex-shrink:0}
.job-visit-list{padding:0 14px 14px;border-top:1px solid var(--line)}
.job-history-entry{border-bottom:1px solid var(--line)}
.job-history-entry>summary{display:flex;align-items:center;gap:13px;min-height:56px;padding:12px 0;cursor:pointer;list-style:none}
.job-history-entry>summary time{font-size:11px;color:var(--muted);white-space:nowrap}
.job-history-entry>summary strong{font-size:12px;line-height:1.5;flex:1;overflow-wrap:anywhere}
.job-history-entry>summary .badge{flex-shrink:0}
.job-entry-detail{padding:4px 0 20px;font-size:12px;line-height:1.7}
.job-entry-detail>ul{padding-left:20px;margin:0 0 14px;color:#5d7481}
.job-entry-detail .job-total{display:flex;justify-content:space-between;gap:16px;margin-top:10px}
.job-entry-detail .job-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}
.job-entry-detail .job-bottom label{font-size:11px;color:var(--muted)}
.job-entry-detail .job-bottom select{width:auto;font-size:12px;margin-left:5px;min-height:44px}
.job-vehicle-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:15px}
.job-vehicle-actions .text-button{min-height:44px;text-align:left}
@media(max-width:640px){.jobs-client>summary{padding:15px}.jobs-client-content{padding:0 10px 12px}.jobs-vehicle>summary{padding:12px;gap:8px}.job-visit-list{padding:0 10px 12px}.job-history-entry>summary{flex-wrap:wrap;gap:6px 10px}.job-history-entry>summary strong{flex-basis:calc(100% - 105px)}.job-history-entry>summary .badge{margin-left:0}.job-entry-detail .job-bottom{align-items:flex-start;flex-direction:column}.job-entry-detail .job-total{flex-wrap:wrap;gap:4px}.jobs-group-label strong{font-size:13px}.jobs-group-label small{font-size:10px}.job-vehicle-actions{gap:6px}}
.jobs-direct-results{display:grid;gap:6px}
.job-search-result-note{font-size:11px;line-height:1.6;color:var(--muted);text-align:right;flex-shrink:0;max-width:34%}
@media(max-width:640px){.jobs-direct-results .vehicle-result{flex-wrap:wrap}.job-search-result-note{flex-basis:100%;max-width:100%;font-size:10px;text-align:left;padding-left:2px}.toolbar #job-search{font-size:16px}}
.notebook-filters{display:flex;gap:9px;margin-bottom:20px;flex-wrap:wrap}
.notebook-filters .btn{min-height:44px}
.notebook-filters button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}
.notebook-filters span{padding:2px 6px;border:1px solid currentColor;border-radius:12px;font-size:10px}
.notebook-card .notebook-trace{font-size:11px;line-height:1.7;border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.highlight-movement{background:var(--orange-soft);outline:2px solid #e9aa83;outline-offset:2px}
.job-result-count{margin-bottom:13px}
.notebook-footer .text-button,#clear-job-search{min-height:44px;display:inline-flex;align-items:center;padding:4px 6px;text-align:left;line-height:1.5}
@media(max-width:640px){.notebook-footer{gap:10px;flex-wrap:wrap}}

/* Supplier accounts start with one provider, then compact invoice summaries. */
.supplier-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}
.supplier-list{display:grid;gap:9px}
.supplier-choice{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:15px;text-align:left;background:white;min-height:96px;overflow-wrap:anywhere}
.supplier-choice.selected{background:var(--orange-soft);border-color:#ebba9c}
.supplier-choice>strong{font-size:13px;line-height:1.5}
.supplier-choice>small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.supplier-choice>span{display:block;color:var(--muted);font-size:10px;line-height:1.6;margin-top:8px}
.supplier-choice b{display:block;color:var(--ink);font-size:17px}
.supplier-account{min-width:0}
.supplier-account .account-summary{align-items:flex-start}
.supplier-account .account-summary h2{font-size:21px;overflow-wrap:anywhere}
.supplier-account .account-amount{max-width:45%}
.supplier-account .account-amount strong{font-size:24px;overflow-wrap:anywhere}
.supplier-account-helper{margin:20px 0 13px}
.supplier-invoices{display:grid;gap:9px}
.supplier-invoice{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.supplier-invoice>summary{display:grid;grid-template-columns:minmax(105px,1.3fr) repeat(3,minmax(65px,1fr)) 16px;gap:10px;align-items:center;padding:14px;min-height:78px;cursor:pointer;list-style:none;background:#fbfcfd}
.supplier-invoice>summary::-webkit-details-marker{display:none}
.supplier-invoice>summary:after{content:'＋';font-size:16px;color:var(--muted)}
.supplier-invoice[open]>summary:after{content:'−'}
.invoice-brief-id{min-width:0;overflow-wrap:anywhere}
.invoice-brief-id>strong{font-size:12px;line-height:1.5}
.invoice-brief-id>time{display:block;color:var(--muted);font-size:10px;margin-top:5px}
.invoice-brief-amount{text-align:right;min-width:0;overflow-wrap:anywhere}
.invoice-brief-amount>small{display:block;font-size:9px;color:var(--muted);margin-bottom:4px}
.invoice-brief-amount>strong{font-size:12px;line-height:1.5}
.invoice-brief-amount>.badge{display:block;width:max-content;margin:4px 0 0 auto}
.supplier-invoice>.invoice-card{border:0;border-top:1px solid var(--line);border-radius:0;margin:0;padding:16px;box-shadow:none}
@media(max-width:1150px){.supplier-layout{grid-template-columns:190px minmax(0,1fr);gap:14px}.supplier-invoice>summary{grid-template-columns:minmax(80px,1.2fr) repeat(3,minmax(50px,1fr)) 12px;gap:7px;padding:12px}.invoice-brief-amount>strong{font-size:11px}}
@media(max-width:850px){.supplier-layout{grid-template-columns:1fr}.supplier-list{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-choice{padding:13px}.supplier-choice b{font-size:16px}.supplier-account .account-summary h2{font-size:19px}.supplier-account .account-amount strong{font-size:22px}}
@media(max-width:640px){.supplier-invoice>summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}.invoice-brief-id{grid-column:1/-1;padding-right:20px}.supplier-invoice>summary:after{grid-column:3;grid-row:1;justify-self:end}.invoice-brief-amount{text-align:left}.invoice-brief-amount>.badge{margin-left:0}.supplier-invoice>.invoice-card{padding:12px}.supplier-account .account-summary{flex-direction:column;gap:13px}.supplier-account .account-amount{max-width:100%;text-align:left}.supplier-choice>strong{font-size:12px}}
.supplier-details-tools{margin-top:15px}
.supplier-details-tools .btn{min-height:44px}
.supplier-contact{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:16px 0}
.supplier-contact>summary{cursor:pointer;font-size:12px;min-height:44px;padding:14px 0}
.supplier-contact dl{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:4px 0 15px}
.supplier-contact dt{font-size:10px;color:var(--muted);margin-bottom:4px}
.supplier-contact dd{margin:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.supplier-contact>p{margin-bottom:14px}
.supplier-invoice-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.supplier-invoice-filters .btn{min-height:44px;white-space:normal}
.supplier-invoice-filters .btn[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}
@media(max-width:640px){.supplier-contact dl{grid-template-columns:1fr}.supplier-contact dl div{min-width:0}}
@media(max-width:850px){.field input,.field select,.field textarea,.invoice-line .field input,.invoice-line .field select{font-size:16px}}

/* Administration reads the existing ledger; vehicle figures are charges, not debts. */
.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.admin-toolbar>.search{width:360px;max-width:100%}
.admin-toolbar .search input{font-size:16px;min-height:46px}
.admin-filters{display:flex;gap:8px;flex-wrap:wrap}
.admin-filters .btn{min-height:44px}
.admin-filters .btn[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}
.admin-result-count{margin-bottom:12px}
.admin-accounts{display:grid;gap:10px}
.admin-account-row{display:grid;grid-template-columns:minmax(200px,2fr) repeat(3,minmax(90px,1fr)) 18px;align-items:center;gap:15px;width:100%;border:1px solid var(--line);background:white;border-radius:10px;padding:19px;text-align:left;min-height:105px}
.admin-account-row:hover{border-color:#e5b293;background:#fffaf6}
.admin-account-row>span{min-width:0;overflow-wrap:anywhere}
.admin-account-row small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-bottom:4px}
.admin-account-row strong{font-size:16px;line-height:1.5}
.admin-account-row>.admin-account-person>strong{font-size:14px}
.admin-account-person>small{margin-top:5px}
.admin-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}
.admin-totals .stat-value{font-size:25px;overflow-wrap:anywhere}
.admin-vehicles{display:grid;gap:10px}
.admin-vehicle{border:1px solid var(--line);border-radius:9px;overflow:hidden}
.admin-vehicle>summary{display:flex;align-items:center;gap:12px;min-height:78px;padding:15px;cursor:pointer;list-style:none}
.admin-vehicle>summary::-webkit-details-marker{display:none}
.admin-vehicle>summary:after{content:'＋';color:var(--muted);font-size:16px}
.admin-vehicle[open]>summary:after{content:'−'}
.admin-vehicle>summary>.plate{max-width:30%;white-space:normal;overflow-wrap:anywhere;flex-shrink:0}
.admin-vehicle-charges{margin-left:auto;text-align:right;flex-shrink:0}
.admin-vehicle-charges small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}
.admin-vehicle-charges strong{font-size:17px}
.admin-allocation-note{padding:12px 15px;border-top:1px solid var(--line);background:#fafcfc}
.admin-visit-charge{font-size:12px}
.admin-general-payments{margin-top:20px}
.admin-reconciliation{margin:17px 0 12px}
.admin-general-payments>.text-button{min-height:44px;text-align:left}
@media(max-width:1150px){.admin-account-row{grid-template-columns:minmax(160px,1.6fr) repeat(3,minmax(75px,1fr)) 14px;gap:10px}.admin-account-row strong{font-size:14px}.admin-totals .stat-value{font-size:21px}}
@media(max-width:850px){.admin-toolbar{flex-wrap:wrap}.admin-toolbar>.search{width:100%}.admin-account-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-account-person{grid-column:1/-1;padding-right:20px}.admin-account-row>span:last-child{grid-column:3;grid-row:1;justify-self:end}.admin-totals{gap:10px}.admin-totals .stat{padding:14px}}
@media(max-width:640px){.admin-account-row{padding:16px}.admin-account-row strong{font-size:13px}.admin-totals{grid-template-columns:1fr}.admin-totals .stat-value{font-size:26px}.admin-vehicle>summary{flex-wrap:wrap;gap:10px;padding:12px}.admin-vehicle-charges{flex-basis:calc(100% - 30px);text-align:left;margin-left:0}.admin-vehicle>summary>.plate{max-width:40%}.admin-vehicle>summary>.jobs-group-label{flex:1}.admin-vehicle-charges strong{font-size:17px}}

/* Paleta rosa pastel, solo interfaz; la hoja de impresión mantiene blanco. */
@media screen {
:root{--ink:#352533;--muted:#765d6e;--paper:#fff7fa;--line:#eed8e2;--orange:#ba4077;--orange-soft:#fce3ed;--navy:#60354f;--green:#226e55;--green-soft:#e3f3eb;--shadow:0 4px 18px #6a304414}
body,.workspace{background:#fff7fa}.sidebar{background:#6d405d!important}.topbar,.panel,.stat,.day-column,.client-card,.admin-account-row,.vehicle-result,.jobs-client,.jobs-vehicle,.invoice-line,dialog{border-color:#efd8e2;background-color:#fffafc}.demo-banner,.callout,.paper-note,.invoice-preview,.jobs-client-content{background:#fbe9f1}.btn-accent,.btn-primary{background:#ad3f71;color:#fff}.btn-accent:hover,.btn-primary:hover{background:#8d2b5a}.nav-count{background:#f9d5e6;color:#61334e}input:focus,select:focus,textarea:focus{outline-color:#ce82a8}button:focus-visible,a:focus-visible{outline-color:#ce82a8}.quick-match-button,.form-footer{background:#fff0f6}.job-payment-action{padding:12px 16px}.badge{font-weight:650}
}
@media print{body{background:#fff!important}#print-area *{background-color:#fff!important;color:#111!important;text-shadow:none!important;box-shadow:none!important}}

/* Rosa auténtico: override final sin violetas */
:root{--ink:#502435;--muted:#865366;--paper:#fff3f6;--line:#f3c5d3;--orange:#e73579;--orange-soft:#ffe0eb;--green:#216c57;--green-soft:#ddf6e9;--navy:#922a50;--shadow:0 5px 18px #9d285012}
body,.workspace{background:#fff3f6;color:var(--ink)}.sidebar{background:#f6b1c8!important;color:#562036!important}.sidebar nav button,.sidebar .brand,.sidebar .brand span,.sidebar .brand small{color:#5b213a!important}.sidebar nav button.active,.sidebar nav button:hover{background:#fbe2eb!important;color:#8f1746!important}.topbar{background:#ffe6ee!important}.demo-banner,.panel,.stat,.day-column,.page-heading,.card,.history-search-panel,.modal-body{border-color:#f2bed0!important}.panel,.stat,.day-column,dialog,.history-search-panel{background:#fffafd!important}.btn-primary,.btn-accent{background:#d82d6a!important;color:#fff!important;border-color:#d82d6a!important}.btn:not(.btn-primary):not(.btn-accent){background:#ffe2ec;color:#782443;border-color:#f3b5cd}.btn:hover,.btn:focus-visible,a:hover{filter:brightness(.94)}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #e53779!important;outline-offset:2px}.badge.orange,.badge.green{font-weight:bold}.brand img{border:2px solid #a52f5a;border-radius:16px;background:#ed87a9}.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.today-item{display:flex;flex-direction:column;gap:5px;padding:13px 0;border-bottom:1px solid var(--line)}.today-item .btn{align-self:flex-start}.estimate-list{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:18px}.estimate-paper{background:white;color:#38222d;border:1px solid #dfb0c2;border-radius:9px;padding:25px;margin-top:18px}.estimate-paper h2{font-size:21px}.estimate-paper h3{font-size:14px;padding-top:12px}.estimate-pair{display:flex;justify-content:space-between;gap:25px;margin:20px 0}.estimate-table{width:100%;border-collapse:collapse;margin:12px 0}.estimate-table th,.estimate-table td{padding:10px;border-bottom:1px solid #edd4de;text-align:left;font-size:12px}.estimate-total{font-size:21px;font-weight:800;text-align:right;padding:20px 0;color:#a51750}.estimate-line{margin-top:12px}.estimate-line input,.estimate-line select{max-width:100%}@media(max-width:640px){.today-grid{grid-template-columns:1fr}.estimate-pair{flex-direction:column}.estimate-paper{padding:13px}.estimate-table th,.estimate-table td{font-size:9px;padding:6px}}@media print{#print-area,.estimate-paper{background:white!important;color:black!important;border:0!important}.estimate-total{color:black!important}.estimate-paper h2{color:black}#print-area .estimate-table{width:100%;border-collapse:collapse}#print-area .estimate-table td,#print-area .estimate-table th{border-bottom:1px solid #bbb;padding:7px}}

/* Tanda 3: vista unificada, preferencias y presupuestos */
.estimate-totals{margin:24px 0 12px auto;max-width:420px;text-align:right}.estimate-totals p{display:flex;justify-content:space-between;gap:30px}.settings-toggle{display:block;margin:12px 0}.estimate-paper{background:#fff!important;color:#292329!important}.estimate-paper table{width:100%}html[data-theme="rosa-intenso"]{filter:saturate(1.25)}html[data-theme="claro"]{filter:saturate(.75)}html[data-font="serif"] body{font-family:Georgia,serif}html[data-size="grande"]{font-size:18px}html[data-density="compacta"] .panel{padding:13px} @media print{.estimate-paper{background:white!important;color:black!important}.estimate-paper *{box-shadow:none!important}}
/* Tanda 4: financial summaries, calendar and monochrome budget documents. */
.summary-period{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:0 0 16px;padding:13px 18px}.summary-period label{display:flex;align-items:center;gap:8px;font-size:12px}.summary-period input{width:150px}.summary-period small{color:var(--muted)}.stats-finance{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stats-finance .stat-value{font-size:clamp(19px,2vw,25px);overflow-wrap:anywhere}.calendar-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.calendar-toolbar h2{margin:auto;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #e3d5dc;border-radius:12px;overflow:hidden;gap:1px;background:#e3d5dc}.calendar-weekday{background:#f8e8ef;text-align:center;padding:12px 4px;font-weight:700;font-size:11px}.calendar-cell{min-width:0;min-height:112px;text-align:left;display:flex;flex-direction:column;gap:5px;align-items:stretch;background:white;padding:8px;cursor:pointer}.calendar-cell b{font-size:13px}.calendar-cell>span{font-size:10px;line-height:1.3;background:#fae7ef;border-radius:5px;padding:5px;overflow-wrap:anywhere}.calendar-cell>span small{display:block;font-size:9px;line-height:1.35;margin-top:2px;color:#63515d}.calendar-cell em{font-size:10px;color:#913353}.calendar-cell:hover{background:#fff2f7}.calendar-selected{outline:3px solid #c83269;outline-offset:-3px}.calendar-blank{background:#faf5f7;cursor:default}.calendar-day-details{margin-top:18px}.calendar-day-details .today-item{margin-top:10px}.photo-field{padding:10px;border:1px dashed #ddacbe;border-radius:9px}.photo-review,.photo-attachment img{display:block;max-width:100%;max-height:430px;object-fit:contain;margin:10px auto}.photo-review[hidden]{display:none}.photo-attachment{margin:12px 0}.photo-attachment summary{cursor:pointer;color:#9e3159;font-weight:650}.image-preview-page{background:#f5f5f5;padding:10px 0;margin-bottom:20px}.image-preview-page>img{display:block;width:100%;height:auto;max-height:none!important;object-fit:contain}.estimate-paper.receipt-bw,.receipt-bw{background:#fff;color:#111;border:1px solid #666;box-shadow:none;padding:25px;max-width:880px;margin:20px auto;font-family:Arial,Helvetica,sans-serif}.receipt-bw .receipt-head{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:start;border-bottom:2px solid #333;padding-bottom:12px}.receipt-bw .receipt-head h2{font-size:22px;color:#111;margin-bottom:8px}.receipt-bw .receipt-head p{font-size:12px;margin:4px 0}.receipt-bw .receipt-id{text-align:center;background:#eee;padding:12px;border:1px solid #666}.receipt-bw .receipt-id small{font-size:9px;display:block}.receipt-bw .receipt-id strong{font-size:18px;display:block;margin:5px 0}.receipt-bw .receipt-customer{margin:15px 0;border:1px solid #777;padding:10px}.receipt-bw .receipt-customer p{margin:5px 0;font-size:13px}.receipt-bw .receipt-section{padding:8px;background:#eee;border:1px solid #aaa;font-size:13px;color:#111;margin:15px 0 0}.receipt-bw .receipt-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:auto}.receipt-bw .receipt-table th,.receipt-bw .receipt-table td{border-bottom:1px solid #bbb;padding:9px 5px;vertical-align:top;overflow-wrap:anywhere}.receipt-bw .numeric{text-align:right;white-space:nowrap}.receipt-bw .receipt-totals{margin:24px 0 18px auto;max-width:355px}.receipt-bw .receipt-totals p{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:12px}.receipt-bw .receipt-total{display:flex;justify-content:space-between;gap:14px;border:2px solid #333;background:#eee;padding:12px;margin-top:8px;font-weight:800;font-size:15px}.receipt-bw footer{border-top:1px solid #555;padding-top:10px;font-size:10px}.receipt-bw .receipt-notes{font-size:11px;white-space:pre-wrap;margin:10px 0}.modal-body .image-preview-page{overflow:visible}.estimate-paper .receipt-table td:first-child{width:55px}
@media(max-width:840px){.calendar-cell{min-height:75px;padding:4px}.calendar-cell>span{font-size:8px;padding:3px}.calendar-cell>span small{display:none}.calendar-toolbar h2{order:-1;width:100%;text-align:center}.summary-period{display:grid;grid-template-columns:1fr 1fr}.summary-period strong,.summary-period small{grid-column:1/-1}.summary-period label{display:block}.summary-period input{width:100%;margin-top:5px}}@media(max-width:540px){.receipt-bw{padding:12px}.receipt-bw .receipt-head{grid-template-columns:1fr}.receipt-bw .receipt-table{font-size:10px}.receipt-bw .receipt-id strong{font-size:15px}.calendar-grid{gap:1px}.calendar-cell{min-height:63px}.calendar-cell>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-cell>span small{display:none}.calendar-weekday{font-size:9px}}
@media print{.receipt-bw{background:#fff!important;color:#000!important;border:none!important;box-shadow:none!important;max-width:100%!important;padding:0!important}.receipt-bw .receipt-head,.receipt-bw .receipt-id,.receipt-bw .receipt-section,.receipt-bw .receipt-total{color:#000!important;background:#eee!important;-webkit-print-color-adjust:economy;print-color-adjust:economy}.receipt-bw .receipt-id,.receipt-bw .receipt-section{border-color:#aaa}.receipt-bw .receipt-table tr{break-inside:avoid}}
/* ---------- Piloto web privado (interfaz de prueba) ---------- */
.pilot-gate { position:fixed; inset:0; z-index:10000; background:#fff6f8; display:grid; place-items:center; padding:16px; }
.pilot-gate[hidden] { display:none; }
.pilot-login-card { background:white; border:1px solid #eed2da; border-radius:18px; width:min(440px,100%); padding:clamp(20px,5vw,34px); box-shadow:0 16px 36px #70304520; }
.pilot-login-card h1 { font-size:1.5rem; margin:0 0 9px; color:#69283f; }
.pilot-login-card p { margin:7px 0 14px; color:#5d4750; }
.pilot-login-card form { display:grid; gap:14px; }
.pilot-login-card label { display:grid; gap:5px; font-weight:600; }
.pilot-login-card input { padding:12px; border:1px solid #ad8794; border-radius:8px; font:inherit; width:100%; }
.pilot-login-card button { padding:12px; border:0; border-radius:8px; background:#b63b72; color:white; font-weight:700; font:inherit; cursor:pointer; }
.pilot-login-card button:disabled { opacity:.5; cursor:wait; }
.pilot-login-card :focus-visible { outline:3px solid #82354a; outline-offset:3px; }
.pilot-login-card .pilot-help { font-size:.87rem; }
body.pilot-locked .app-shell, body.pilot-locked #modal, body.pilot-locked #print-area { display:none!important; }
.pilot-saving { position:fixed; inset:0; background:#23121bcc; z-index:9999; display:grid; place-items:center; padding:24px; }
.pilot-saving[hidden] { display:none; }
.pilot-save-panel { width:min(520px,100%); border-radius:14px; background:#fff; padding:28px; box-shadow:0 18px 45px #0003; text-align:center; }
.pilot-save-panel strong { display:block; margin-bottom:10px; font-size:1.1rem; }
.pilot-save-panel p { line-height:1.5; }
.pilot-save-panel button { margin-top:12px; border:0; background:#b63b72; color:#fff; border-radius:9px; padding:12px 18px; cursor:pointer; }
.pilot-session-tools { display:flex; gap:8px; align-items:center; }
.pilot-session-tools button { border:1px solid #bd8297; background:white; border-radius:7px; padding:7px 9px; cursor:pointer; font:inherit; font-size:.8rem; }
@media print {.pilot-gate,.pilot-saving,.pilot-session-tools{display:none!important}}

/* Tanda 5 — A4 horizontal, calendario completo y detalle paginado. */
@page furlani-mes { size: A4 landscape; margin: 11mm; }
@media print {
  #print-area.month-print {page:furlani-mes;font-family:Arial,Helvetica,sans-serif;color:#111}
  #print-area.month-print .print-month-document{background:white!important;color:#111!important;max-width:100%;font-size:10pt}
  #print-area.month-print header{border-bottom:2px solid #222;margin-bottom:10px;padding-bottom:8px}
  #print-area.month-print header h1{font-size:17pt;margin:0 0 6px}
  #print-area.month-print header p{font-size:10pt;margin:3px 0}
  #print-area.month-print .month-calendar{width:100%;table-layout:fixed;border-collapse:collapse;font-size:9pt;margin:8px 0 16px}
  #print-area.month-print .month-calendar th,#print-area.month-print .month-calendar td{border:1px solid #888;padding:7px;height:31px}
  #print-area.month-print .month-calendar th{background:white;font-size:9pt}
  #print-area.month-print .month-calendar td b{display:block;font-size:10pt}
  #print-area.month-print .month-calendar td span{display:block;font-size:8pt}
  #print-area.month-print .month-day{margin-top:12px;break-inside:auto;page-break-inside:auto}
  #print-area.month-print .month-day h2{font-size:11pt;background:white!important;border-bottom:1px solid #666;padding:6px 0;margin:10px 0 3px;break-after:avoid;page-break-after:avoid}
  #print-area.month-print .month-appointments{table-layout:fixed;width:100%;border-collapse:collapse;font-size:9pt}
  #print-area.month-print .month-appointments thead{display:table-header-group}
  #print-area.month-print .month-appointments th,#print-area.month-print .month-appointments td{padding:6px;border:1px solid #aaa;vertical-align:top;white-space:normal;overflow-wrap:anywhere}
  #print-area.month-print .month-appointments tr{break-inside:avoid;page-break-inside:avoid}
  #print-area.month-print .month-appointments th:nth-child(1){width:15%}
  #print-area.month-print .month-appointments th:nth-child(2){width:20%}
  #print-area.month-print .month-appointments th:nth-child(3){width:24%}
  #print-area.month-print .month-appointments th:nth-child(4){width:31%}
  #print-area.month-print .month-appointments th:nth-child(5){width:10%}
  #print-area.month-print footer{border-top:1px solid #aaa;margin-top:16px;padding-top:6px}
}
.image-downloads{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.image-downloads a{display:inline-block;text-decoration:none;padding:10px 14px}

@media print{#print-area.month-print .month-repeat-date th{font-size:10pt;font-weight:700;padding:5px!important;border-bottom:2px solid #555!important;background:white!important}}
