:root{--ink:#172033;--muted:#7b8496;--line:#e6eaf0;--bg:#f5f7fb;--blue:#4169e1;--orange:#f29d49;--green:#159b73;--purple:#8b65d8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:#172033;color:#fff;padding:25px 16px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 30px}.brand b{display:block;font-size:16px;letter-spacing:-.3px}.brand small{display:block;color:#aeb8ca;font-size:11px;margin-top:4px}.brand-mark{width:56px;height:56px;border-radius:18px;background:#eef2ff;display:grid;place-items:center;font-size:28px;margin:0 auto 15px}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:20px;margin:0}.sidebar nav{display:grid;gap:7px}.nav-link{padding:12px 13px;border-radius:10px;color:#c4ccda;display:flex;align-items:center;gap:12px;font-weight:550}.nav-link span{font-size:18px;width:22px;text-align:center}.nav-link:hover,.nav-link.active{background:#2b3852;color:#fff}.nav-link.active{box-shadow:inset 3px 0 #83a3ff}.sidebar-bottom{margin-top:auto;color:#9eaac0;font-size:11px;padding:15px 8px 0;border-top:1px solid #303b50;line-height:2}.sidebar-bottom a{display:block;color:#d8dfeb;margin-top:8px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#38d39f;margin-right:7px}.main{margin-left:246px;padding:29px clamp(18px,3vw,44px) 22px;max-width:1800px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.topbar h1{margin:3px 0 0;font-size:27px;letter-spacing:-.8px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#8a94a6;font-weight:800;margin:0}.today{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 13px;color:#657086;font-size:12px}.welcome{min-height:230px;background:linear-gradient(115deg,#233858,#355ca1 70%,#5275bf);border-radius:18px;padding:28px 34px;color:#fff;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.welcome h2{font-size:29px;line-height:1.18;letter-spacing:-.8px;margin:15px 0 10px}.welcome h2 em{font-style:normal;color:#c7d7ff}.welcome p{color:#d5def0;margin:0 0 21px;max-width:430px}.pill{display:inline-block;background:#eaf0ff;color:#3658a5;padding:5px 9px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.6px}.pill.neutral{background:#f0f2f6;color:#697386;font-size:10px}.welcome-art{font-size:110px;position:relative;opacity:.95;transform:rotate(-5deg);margin-right:5%;filter:drop-shadow(0 12px 15px #182d5540)}.welcome-art span{font-size:43px;position:absolute;right:-5px;bottom:-5px;transform:rotate(20deg)}.btn{border:0;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 15px;font-weight:700;cursor:pointer;white-space:nowrap}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:#3155c6}.btn.light{background:#fff;color:#244275}.btn.secondary{background:#f0f2f6;color:#4c5668;border:1px solid var(--line)}.btn.full{width:100%;margin-top:16px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:19px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px;position:relative;min-width:0}.stat-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;margin-bottom:12px;font-size:17px}.blue{background:#edf2ff}.orange{background:#fff2e4}.purple{background:#f2ecff}.green{background:#e3f8ef}.stat-label{display:block;color:#7a8496;font-size:12px}.stat strong{display:block;font-size:25px;letter-spacing:-.7px;margin:5px 0}.stat small{font-size:11px;color:#9aa2b1}.content-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:17px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px;margin-bottom:18px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.panel-head h3{font-size:16px;margin:0 0 5px;letter-spacing:-.2px}.panel-head p{font-size:12px;color:#929bab;margin:0}.text-link{font-size:12px;color:#4169d9;font-weight:700}.panel-icon{font-size:23px;color:#8b95a8}.vehicle-list{display:grid}.vehicle-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #f0f2f6}.car-thumb{width:43px;height:43px;border-radius:12px;background:#f0f4ff;display:grid;place-items:center;font-size:23px;flex-shrink:0}.vehicle-info{min-width:0;flex:1}.vehicle-info b,.vehicle-mileage{font-size:12px}.vehicle-info small,.vehicle-mileage small{display:block;color:#9099aa;font-size:11px;margin-top:5px}.vehicle-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vehicle-mileage{text-align:right;white-space:nowrap}.vehicle-row>span:last-child{color:#a3adbc;font-size:20px}.empty{text-align:center;padding:34px 15px;color:#697386}.empty>div{font-size:33px;margin-bottom:9px}.empty b{color:#293449}.empty p{font-size:12px;color:#9099a9;line-height:1.6}.empty.compact{padding:25px 12px}.reminder-list{display:grid}.reminder-row{display:flex;gap:11px;padding:13px 0;border-top:1px solid #f0f2f6}.reminder-icon{width:35px;height:35px;border-radius:10px;background:#fff5e8;display:grid;place-items:center;flex-shrink:0}.reminder-row b{font-size:12px}.reminder-row small{display:block;color:#929bab;font-size:11px;margin-top:4px}.reminder-row p{font-size:11px;color:#556176;margin:7px 0 0}.form-panel{border-color:#dbe4ff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid label,.filter-row label,.login-card label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#586378;font-weight:650;min-width:0}.form-grid input,.form-grid select,.form-grid textarea,.filter-row select,.login-card input{width:100%;border:1px solid #dce2ec;border-radius:8px;padding:11px 12px;color:#1c273b;background:#fff;outline:none;min-width:0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.login-card input:focus{border-color:#7894ee;box-shadow:0 0 0 3px #4169e11c}.form-grid textarea{resize:vertical}.span-2{grid-column:span 2}.form-actions{display:flex;gap:9px;margin-top:4px}.check-label{flex-direction:row!important;align-items:center}.check-label input{width:auto}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:640px}th{text-align:left;color:#8c95a5;font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:800;background:#fafbfe}td,th{padding:13px 11px;border-bottom:1px solid #edf0f5}td{font-size:12px;color:#4d586c}td b{color:#202c40;font-size:12px}.table-sub{display:block;color:#929bab;font-size:10px;margin-top:5px;max-width:280px;overflow-wrap:anywhere}.actions{white-space:nowrap}.actions form{display:inline;margin-left:10px}.link-danger{border:0;background:none;padding:0;color:#c45353;font-size:11px;cursor:pointer}.filter-row{margin-bottom:13px}.filter-row label{max-width:300px}.budget-list{display:grid;gap:0}.budget-row{display:flex;justify-content:space-between;gap:12px;padding:13px 2px;border-bottom:1px solid #edf0f5;font-size:13px}.budget-row strong{font-variant-numeric:tabular-nums}.muted{color:#8b95a7}.tiny{font-size:10px;line-height:1.5}.footer{padding:10px 2px 4px;color:#9aa3b1;font-size:10px}.footer a{color:#697386}.alert,.success{padding:12px 15px;border-radius:9px;margin-bottom:16px;font-size:13px}.alert{background:#fff0f0;color:#a72f39;border:1px solid #ffd6d6}.success{background:#eaf9f1;color:#16764f;border:1px solid #c7efda}.login-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top,#e6edff 0,#f5f7fb 60%);padding:20px}.login-card{width:min(100%,390px);background:#fff;padding:34px;border-radius:20px;border:1px solid var(--line);box-shadow:0 15px 55px #17203312;text-align:center}.login-card h1{font-size:25px;margin:0 0 8px}.login-card>p{font-size:12px;margin:0 0 25px}.login-card form{text-align:left}.login-card .tiny{margin:22px 0 0}.login-card label{text-align:left}.login-card input{margin-top:2px}.login-card .alert{text-align:left}.login-card .brand-mark{box-shadow:0 5px 18px #4169e124}
@media(max-width:1100px){.sidebar{width:210px}.main{margin-left:210px;padding:24px 20px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.welcome-art{font-size:85px;margin-right:1%}}@media(max-width:700px){.sidebar{position:static;width:auto;padding:12px 13px 8px;display:block}.brand{padding:0 3px 12px}.sidebar nav{display:flex;gap:5px;overflow-x:auto;padding-bottom:5px}.nav-link{flex:0 0 auto;padding:9px 10px;font-size:11px;gap:6px}.nav-link span{font-size:15px;width:auto}.sidebar-bottom{display:none}.main{margin:0;padding:19px 13px}.topbar{margin-bottom:17px}.topbar h1{font-size:23px}.today{font-size:10px;padding:8px}.welcome{padding:23px 20px;min-height:220px}.welcome h2{font-size:25px}.welcome p{font-size:12px;max-width:290px}.welcome-art{position:absolute;right:-18px;bottom:4px;font-size:67px;opacity:.23}.welcome-art span{display:none}.welcome>div:first-child{position:relative;z-index:1}.stats{gap:9px;margin:13px 0}.stat{padding:13px}.stat strong{font-size:22px}.stat-label{font-size:11px}.panel{padding:15px;margin-bottom:13px}.panel-head{align-items:flex-start}.panel-head h3{font-size:15px}.panel-head p{line-height:1.5}.panel-head .btn{padding:9px 10px;font-size:11px}.form-grid{grid-template-columns:1fr;gap:13px}.span-2{grid-column:span 1}.form-actions{flex-wrap:wrap}.table-wrap{margin:0 -4px}.table-wrap table{min-width:650px}.vehicle-row{gap:9px}.vehicle-mileage{font-size:10px}.vehicle-info b{font-size:11px}.login-card{padding:27px 22px}}

/* Garage Auto V5 - ergonomie mobile */
.mobile-shortcuts,.mobile-bottom-nav,.mobile-form-tip{display:none}
.job-photo-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.job-photo-section h3{margin:0 0 8px}.job-photo-upload{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}
.job-photo-upload input{max-width:100%}.job-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:12px}
.job-photo-tile{border:1px solid var(--line);padding:7px;border-radius:10px}.job-photo-tile img{width:100%;height:130px;object-fit:cover;border-radius:7px}
.job-photo-tile form{margin-top:7px}.job-photo-tile .btn{width:100%}
@media(max-width:700px){
  .main{padding-bottom:100px}.sidebar{padding-bottom:4px}.sidebar nav{display:none}.brand{padding-bottom:6px}
  .mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:#fff;border-top:1px solid #e3e7ef;box-shadow:0 -5px 22px #17203312;z-index:30;padding:8px 5px max(8px,env(safe-area-inset-bottom))}
  .mobile-bottom-nav a{text-align:center;font-size:22px;color:#5d6880;padding:4px 0;line-height:1.1}
  .mobile-bottom-nav a small{display:block;font-size:10px;font-weight:700;margin-top:5px}
  .mobile-bottom-nav a.active{color:#4169e1}.mobile-bottom-nav .mobile-add{background:#4169e1;color:#fff;border-radius:13px;padding:7px 0}
  .mobile-shortcuts{display:flex;gap:9px;margin:0 0 13px}.mobile-shortcuts a{flex:1;min-width:0;white-space:normal;text-align:center}
  .mobile-form-tip{display:block;color:#697386;background:#f2f5ff;padding:10px;border-radius:9px;font-size:12px}
  .btn{min-height:44px}.form-grid input,.form-grid select,.form-grid textarea,.filter-row input,.filter-row select{font-size:16px;min-height:44px}
  .form-actions .btn{flex:1}.filter-row label{max-width:none}.filter-row{display:flex;flex-wrap:wrap;gap:10px}
  .table-wrap table th,.table-wrap table td{padding:10px 8px}
  .job-photo-upload{display:grid}.job-photo-upload input,.job-photo-upload button{width:100%}
  .reminder-row .btn{font-size:12px!important;min-height:42px;padding:8px 10px!important}
  .panel-head{flex-wrap:wrap}.topbar{gap:8px}.topbar h1{font-size:21px}
}
