:root{--bg:#121212;--bg-2:#181818;--panel:#1d1d1c;--panel-2:#242422;--line:#2f2f2c;--line-2:#3d3d39;--ink:#ecebe6;--ink-2:#a9a79e;--ink-3:#6f6d66;--accent:#ffb000;--accent-ink:#1a1400;--accent-soft:#ffb0001f;--red:#ff5a3c;--blue:#6fb6ff;--green:#7bd88f;--display:"Big Shoulders Display", "Arial Narrow", sans-serif;--body:"Barlow", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--r:4px;--side:268px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:16px/1.45 var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body:before{content:"";pointer-events:none;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.22;z-index:0;background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(at 70% 0,#000 0%,#0000 70%);mask-image:radial-gradient(at 70% 0,#000 0%,#0000 70%)}#root{z-index:1;position:relative}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}.shell{grid-template-columns:var(--side) 1fr;min-height:100dvh;display:grid}.sidebar{background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;gap:22px;height:100dvh;padding:22px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.main{min-width:0}.view{max-width:980px;padding:44px 48px 120px;animation:.35s both rise}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.brand{align-items:center;gap:10px;padding:0 8px;display:flex}.brand-name{font:800 22px/1 var(--display);text-transform:uppercase;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.logo{fill:none;width:30px;height:30px;stroke:var(--accent);stroke-width:2.2px;stroke-linejoin:round;flex:none;animation:18s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.nav{flex-direction:column;gap:2px;display:flex}.nav-item{border-radius:var(--r);color:var(--ink-2);letter-spacing:.01em;align-items:center;gap:12px;padding:10px 12px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.nav-item svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.nav-item:hover{background:var(--panel);color:var(--ink)}.nav-item.is-on{background:var(--panel-2);color:var(--ink)}.nav-item.is-on:before{content:"";background:var(--accent);width:3px;position:absolute;top:8px;bottom:8px;left:-16px}.nav-item.is-on svg{stroke:var(--accent)}.nav-count{font:600 11px/1 var(--mono);color:var(--ink-3);border:1px solid var(--line-2);border-radius:3px;margin-left:auto;padding:4px 6px}.nav-item.is-on .nav-count{color:var(--accent);border-color:var(--accent)}.side-vehicles{border-top:1px dashed var(--line-2);flex-direction:column;gap:2px;padding-top:16px;display:flex}.side-vehicles .eyebrow{padding:0 12px 6px}.side-vehicle{border-radius:var(--r);color:var(--ink-2);align-items:center;gap:10px;padding:6px 12px;font-size:14px;text-decoration:none;display:flex}.side-vehicle:hover,.side-vehicle.is-on{background:var(--panel);color:var(--ink)}.sv-thumb{background:var(--panel-2);width:26px;height:26px;font:800 13px var(--display);text-transform:uppercase;color:var(--accent);border-radius:3px;flex:none;place-items:center;display:grid;overflow:hidden}.sv-thumb img{object-fit:cover;width:100%;height:100%}.sv-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sync{font:11px var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;margin-top:auto;padding:0 12px;display:flex}.sync-dot{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #7bd88f26}.sync.is-busy .sync-dot{background:var(--accent);animation:.8s infinite alternate pulse}.sync.is-off .sync-dot{background:var(--red)}@keyframes pulse{to{opacity:.3}}.eyebrow{font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0}.view-head{margin-bottom:32px}.view-head .eyebrow{color:var(--accent)}h1,.h1-edit{font:900 clamp(48px, 7vw, 88px)/.88 var(--display);text-transform:uppercase;letter-spacing:-.005em;margin:8px 0}.lede{color:var(--ink-2);max-width:52ch;margin:0}h2{font:800 26px/1 var(--display);text-transform:uppercase;margin:6px 0 14px}.panel-title{font:800 20px/1 var(--display);text-transform:uppercase;letter-spacing:.02em;align-items:center;gap:10px;margin:0;display:flex}.count{font:600 12px var(--mono);color:var(--ink-3)}.muted{color:var(--ink-3);font-size:14px}.pad{margin:0;padding:14px 0 4px}.mono{letter-spacing:.08em;text-transform:uppercase;font-family:var(--mono)!important}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);margin-bottom:16px;padding:20px}.panel-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel>.panel-title{margin-bottom:14px}.panel-done{background:0 0;border-style:dashed}.btn{border-radius:var(--r);background:var(--accent);color:var(--accent-ink);font:700 14px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:6px;padding:12px 18px;transition:transform 80ms,box-shadow 80ms,opacity .15s;display:inline-flex;box-shadow:0 2px #b37b00}.btn:hover{filter:brightness(1.06)}.btn:active{transform:translateY(2px);box-shadow:0 0 #b37b00}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-small{padding:9px 12px;font-size:12px}.btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2);background:0 0}.btn-ghost:active{box-shadow:inset 0 0 0 1px var(--line-2)}.link{color:var(--ink-2);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.link:hover{color:var(--accent)}.back{color:var(--ink-2);font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;margin-bottom:18px;padding:0}.back:hover{color:var(--accent)}input:not(.editable),.select{background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r);outline:none;width:100%;padding:12px 14px}input:not(.editable):focus,.select:focus{border-color:var(--accent)}.select{width:auto;padding:8px 12px;font-size:14px}.editable{resize:none;background:0 0;border:1px solid #0000;border-radius:3px;outline:none;width:100%;min-width:0;margin:-4px -6px;padding:4px 6px;transition:background .15s,border-color .15s}.editable:hover{background:#ffffff08}.editable:focus{background:var(--bg);border-color:var(--accent)}.editable::placeholder{color:var(--ink-3)}.h1-edit{width:calc(100% + 12px);display:block}.notes{width:calc(100% + 12px);min-height:48px;color:var(--ink-2);line-height:1.55;display:block;overflow:hidden}.big-edit{font:800 32px var(--display);text-transform:uppercase}.check{border:1.5px solid var(--line-2);background:0 0;border-radius:3px;flex:none;place-items:center;width:24px;height:24px;padding:0;transition:all .15s;display:grid}.check svg{fill:none;width:14px;height:14px;stroke:var(--accent-ink);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16px;transition:stroke-dashoffset .2s 50ms}.check:hover{border-color:var(--accent)}.check.is-on{background:var(--accent);border-color:var(--accent)}.check.is-on svg{stroke-dashoffset:0}.del{min-width:28px;height:28px;color:var(--ink-3);font:600 11px var(--mono);text-transform:uppercase;opacity:.55;background:0 0;border:0;border-radius:3px;flex:none;place-items:center;padding:0 6px;transition:opacity .15s,background .15s,color .15s;display:grid}.del svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:12px;height:12px}.del:hover{opacity:1;color:var(--red)}.del.is-armed{opacity:1;background:var(--red);color:#1a0500;padding:0 10px}.add-row{background:var(--bg);border:1px dashed var(--line-2);border-radius:var(--r);align-items:center;gap:10px;margin-bottom:8px;padding:6px 6px 6px 14px;display:flex}.add-row:focus-within{border-style:solid;border-color:var(--accent)}.add-row input{background:0 0!important;border:0!important;padding:8px 0!important}.add-plus{font:600 18px var(--mono);color:var(--accent)}.select-inline{background:var(--panel);flex:none;max-width:160px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-2);color:var(--ink-2);background:0 0;border-radius:999px;padding:6px 10px;font-size:13px}.chip span{font:11px var(--mono);color:var(--ink-3);margin-left:3px}.chip.is-on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip.is-on span{color:var(--bg)}.tag{font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:3px;flex:none;padding:5px 7px}.tag-link{text-overflow:ellipsis;max-width:140px;text-decoration:none;overflow:hidden}.num-field{font-family:var(--mono);align-items:center;gap:2px;font-size:14px;display:inline-flex}.num-field .editable{text-align:right;width:70px;margin:0}.num-prefix{color:var(--ink-3)}.empty{text-align:center;padding:36px 16px}.empty-mark svg{fill:none;width:48px;height:48px;stroke:var(--ink-3);stroke-width:1.5px;stroke-linecap:round;animation:12s linear infinite spin}.empty-title{font:800 22px var(--display);text-transform:uppercase;margin:10px 0 4px}.empty-hint{color:var(--ink-3);margin:0;font-size:14px}.sk{background:linear-gradient(90deg, var(--panel) 0%, var(--panel-2) 50%, var(--panel) 100%);border-radius:var(--r);background-size:200% 100%;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.sk-brand{height:30px}.sk-nav{height:200px}.sk-title{width:50%;height:80px;margin-bottom:24px}.sk-block{height:160px;margin-bottom:16px}.add-vehicle{gap:10px;margin-bottom:24px;display:flex}.vehicle-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.vehicle-card{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:0;transition:border-color .15s,transform .15s;animation:.4s both rise;overflow:hidden}.vehicle-card:hover{border-color:var(--accent);transform:translateY(-2px)}.vc-photo{aspect-ratio:16/10;background:repeating-linear-gradient(135deg, var(--panel-2) 0 12px, var(--panel) 12px 24px);place-items:center;display:grid;position:relative;overflow:hidden}.vc-photo img{object-fit:cover;width:100%;height:100%}.vc-initial{font:900 64px var(--display);text-transform:uppercase;color:var(--line-2)}.plate{color:#111;font:600 12px var(--mono);letter-spacing:.08em;background:#f3f3ef;border-left:10px solid #1d4fb8;border-radius:3px;padding:4px 8px 4px 18px;position:absolute;bottom:10px;left:10px}.vc-body{padding:14px 16px 16px}.vc-body h3{font:800 24px/1 var(--display);text-transform:uppercase;margin:0}.vc-sub{color:var(--ink-3);margin:4px 0 12px;font-size:14px}.vc-stats{color:var(--ink-2);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.vc-stats b{font-family:var(--mono);color:var(--ink)}.vc-stats .hot b{color:var(--accent)}.vd-head{grid-template-columns:minmax(240px,360px) 1fr;align-items:start;gap:28px;margin-bottom:24px;display:grid}.vd-cover{aspect-ratio:4/3;border-radius:var(--r);background:var(--panel);border:1px solid var(--line);overflow:hidden}.vd-cover img{object-fit:cover;width:100%;height:100%}.vd-cover-empty{background:repeating-linear-gradient(135deg, var(--panel-2) 0 12px, var(--panel) 12px 24px);width:100%;height:100%;color:var(--ink-2);font:600 13px var(--mono);text-transform:uppercase;letter-spacing:.08em;border:0}.vd-cover-empty:hover{color:var(--accent)}.vd-title .h1-edit{font-size:clamp(40px,5.5vw,68px)}.spec{background:var(--line);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1px;margin:16px 0;display:grid;overflow:hidden}.spec>div{background:var(--panel);padding:10px 12px}.spec dt{font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-bottom:4px}.spec dd{margin:0;font-weight:600}.money{border:1px solid var(--line);border-radius:var(--r);gap:0;display:flex;overflow:hidden}.money>div{border-right:1px solid var(--line);flex:1;padding:10px 14px}.money>div:last-child{background:var(--accent-soft);border-right:0}.money span{font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);display:block}.money b{font:800 24px var(--display)}.money>div:last-child b{color:var(--accent)}.money-inline{max-width:420px;margin-top:20px}.jobs,.items,.mini-list{margin:0;padding:0;list-style:none}.job{border-top:1px solid var(--line)}.job:first-child{border-top:0}.job-line{align-items:center;gap:12px;padding:10px 0;display:flex}.job-title{text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:4px 0;display:flex}.jt-text{font-weight:600}.status-fatto .jt-text{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3)}.jt-meta{color:var(--ink-3);flex:none;align-items:center;gap:12px;font-size:12px;display:flex}.jt-cost{font:600 13px var(--mono);color:var(--ink-2)}.status-select{border:1px solid var(--line-2);background:var(--bg);font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.06em;border-radius:3px;flex:none;padding:5px 8px}.s-idea{color:var(--ink-2)}.s-da_fare{color:var(--blue);border-color:#6fb6ff66}.s-in_corso{color:var(--accent);border-color:#ffb00080}.s-fatto{color:var(--green);border-color:#7bd88f66}.job.is-open{background:linear-gradient(90deg, var(--accent-soft), transparent 40%);margin:0 -20px;padding:0 20px}.job-body{flex-direction:column;gap:14px;padding:4px 0 18px 36px;animation:.2s both rise;display:flex}.job-title-edit{font-size:18px;font-weight:600}.parts{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);padding:4px 12px 12px}.parts-head,.part{grid-template-columns:1fr 70px 96px 32px 32px;align-items:center;gap:10px;display:grid}.parts-head{font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);border-bottom:1px solid var(--line);padding:8px 0}.part{border-bottom:1px dashed var(--line);padding:6px 0;font-size:15px}.part .num-field .editable{width:100%}.part.is-bought>.editable{color:var(--ink-3)}.parts .add-row{margin:10px 0 0}.job-foot{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.labor{color:var(--ink-2);align-items:center;gap:10px;font-size:13px;display:flex}.job-total{color:var(--ink-3);margin-left:auto;font-size:13px}.job-total b{font:800 22px var(--display);color:var(--ink);margin-left:6px}.item{border-top:1px solid var(--line);padding:4px 0}.item:first-child{border-top:0}.item-line{align-items:center;gap:12px;min-height:48px;display:flex}.item-text{flex:1;font-weight:500}.item.is-done .item-text{color:var(--ink-3);text-decoration:line-through}.item-cost .editable{width:80px}.item-date{font:11px var(--mono);color:var(--green);text-transform:uppercase;letter-spacing:.06em;margin:-6px 0 6px 36px}.item-notes{font-size:14px;width:calc(100% - 24px)!important;margin:0 0 10px 30px!important}.more{width:28px;height:28px;color:var(--ink-3);background:0 0;border:0;border-radius:3px;flex:none;font-size:18px}.more:hover,.more.has-notes{color:var(--accent)}.mini-list li{align-items:center;gap:12px;padding:8px 0;display:flex}.mini-list li span:nth-child(2){flex:1}.gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.gallery figure{margin:0}.gallery-img{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);width:100%;padding:0;display:block;overflow:hidden}.gallery-img img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.gallery-img:hover img{transform:scale(1.04)}.gallery .is-cover .gallery-img{border-color:var(--accent)}.gallery figcaption{justify-content:space-between;align-items:center;min-height:34px;padding-top:6px;display:flex}.lightbox{z-index:50;cursor:zoom-out;background:#000000eb;place-items:center;padding:20px;animation:.2s both rise;display:grid;position:fixed;inset:0}.lightbox img{border-radius:var(--r);max-width:100%;max-height:100%}.danger-zone{border-top:1px dashed var(--line-2);align-items:center;gap:12px;margin-top:32px;padding-top:20px;display:flex}.share-card{background:linear-gradient(135deg, var(--panel-2), var(--panel));padding:28px;position:relative}.share-code{font:600 clamp(28px, 6vw, 52px)/1 var(--mono);letter-spacing:.12em;color:var(--accent);text-align:left;word-break:break-all;background:0 0;border:0;margin:12px 0 20px;padding:0;display:block}.share-actions{flex-wrap:wrap;gap:10px;display:flex}.toast{font:12px var(--mono);color:var(--green);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 0}.steps{color:var(--ink-2);flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.steps b{color:var(--ink)}.welcome{place-items:center;min-height:100dvh;padding:32px 20px;display:grid}.welcome-inner{width:100%;max-width:820px;animation:.5s both rise}.brand-big{font:900 28px var(--display);text-transform:uppercase;letter-spacing:.04em;margin-bottom:28px;padding:0}.brand-big .logo{width:40px;height:40px}.welcome-title{margin-bottom:36px;font-size:clamp(40px,7vw,76px)}.welcome-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.welcome-grid .panel{flex-direction:column;gap:12px;margin:0;padding:24px;display:flex}.welcome-grid .panel:first-child{border-color:var(--accent)}.error{color:var(--red);margin-top:16px}@media (width<=820px){.shell{grid-template-columns:1fr}.sidebar{z-index:20;height:auto;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#181818f0;flex-direction:row;gap:0;position:fixed;inset:auto 0 0}.sidebar .brand,.side-vehicles{display:none}.nav{flex-direction:row;flex:1;justify-content:space-around}.nav-item{flex-direction:column;flex:1;gap:3px;padding:8px 4px;font-size:11px}.nav-item.is-on{background:0 0}.nav-item.is-on:before{width:auto;height:3px;inset:-7px 30% auto}.nav-count{background:var(--bg-2);padding:2px 4px;font-size:9px;position:absolute;top:2px;right:calc(50% - 22px)}.sync{top:calc(10px + env(safe-area-inset-top));background:var(--bg-2);border:1px solid var(--line);border-radius:999px;gap:0;padding:6px 8px;font-size:0;position:fixed;right:12px}.sync.is-off,.sync.is-busy{gap:6px;font-size:10px}.view{padding:calc(28px + env(safe-area-inset-top)) 16px 120px}.view-head{margin-bottom:22px}.panel{padding:16px}.job.is-open{margin:0 -16px;padding:0 16px}.add-vehicle{flex-direction:column}.vd-head{grid-template-columns:1fr;gap:18px}.job-body{padding-left:0}.jt-meta,.parts-head{display:none}.part{grid-template-columns:1fr 52px 84px 28px 28px;gap:6px}.add-row{flex-wrap:wrap}.add-row input{flex:60%}.select-inline{flex:1;max-width:none}.welcome-grid{grid-template-columns:1fr}.money b{font-size:20px}input,textarea,select{font-size:16px!important}.del{opacity:.8}}
