:root{--orange:#ef7f32;--orange-2:#ff9a4d;--orange-soft:#fff1e7;--ink:#17191d;--muted:#777d88;--line:#e9e9ec;--bg:#f6f7f9;--panel:#fff;--dark:#24272d;--danger:#c2413b;--success:#27865b;--radius:22px;--shadow:0 12px 34px rgba(27,33,45,.07)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}body{margin:0;background:var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#1f2227;color:#fff;padding:28px 20px 20px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--orange);color:#fff;font-weight:900;letter-spacing:-1px}.brand strong{display:block;font-size:17px}.brand small{display:block;font-size:10px;color:#9da3ac;margin-top:1px}.nav{display:grid;gap:4px;margin-top:32px}.nav a{padding:11px 13px;border-radius:12px;color:#aeb4bd;font-size:13px;font-weight:650}.nav a:hover,.nav a.active{background:#2d3036;color:#fff}.nav a.active:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--orange);margin-right:10px}.sidebar-foot{margin-top:auto;padding:14px 12px;border-top:1px solid #353941;display:grid;gap:4px;color:#aeb4bd;font-size:11px}.sidebar-foot b{color:#fff}.sidebar-foot small{font-size:9px}.main{margin-left:250px}.topbar{height:76px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;display:flex;align-items:center;padding:0 30px;justify-content:space-between}.topbar-copy{display:flex;flex-direction:column}.topbar-copy strong{font-size:18px}.topbar-copy small{font-size:10px;color:var(--muted);margin-top:3px}.topbar-actions{display:flex;align-items:center;gap:10px}.round-link{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:var(--orange-soft);color:var(--orange);font-weight:850}.profile-chip{height:40px;padding:4px 11px 4px 4px;border:1px solid var(--line);border-radius:22px;background:#fff;display:flex;align-items:center;gap:8px;font-size:11px}.profile-chip>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--dark);color:#fff}.menu-button{display:none;border:0;background:transparent;font-size:22px}.content{padding:28px 30px 100px;max-width:1500px;margin:auto}.mobile-nav,.mobile-welcome{display:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}.page-head h1{margin:4px 0 5px;font-size:30px;letter-spacing:-1.3px}.page-head p{margin:0;color:var(--muted);font-size:12px}.eyebrow,.panel-head small,.section-head small{font-size:9px;font-weight:850;letter-spacing:1.4px;color:var(--orange)}.btn{border:0;border-radius:12px;padding:11px 16px;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--orange);color:#fff}.btn.dark{background:var(--dark);color:#fff}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.full{width:100%}.btn.small{padding:8px 11px;font-size:10px}.btn:disabled{opacity:.45;cursor:not-allowed}.text-danger,.text-success{background:0;border:0;padding:4px;font-size:10px;font-weight:800}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.panel,.table-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.panel-head,.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-head h3,.section-head h2{margin:3px 0 0;font-size:19px}.panel-head a,.section-head a{font-size:10px;color:var(--orange);font-weight:800}.empty-state{padding:30px;text-align:center;color:var(--muted);font-size:12px}.empty-state.large{min-height:180px;display:grid;place-items:center;background:#fff;border:1px dashed #dfe1e5;border-radius:20px}.empty-hero{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:20px;margin-bottom:18px}.empty-hero h2{margin:0}.empty-hero p{margin:4px 0;color:var(--muted)}.empty-icon{width:52px;height:52px;border-radius:16px;background:var(--orange-soft);color:var(--orange);display:grid;place-items:center;font-weight:900}.empty-hero .btn{margin-left:auto}.vehicle-switch{position:relative;display:grid;grid-template-columns:46px 1fr minmax(200px,300px);gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px 16px;margin-bottom:18px;box-shadow:var(--shadow)}.vehicle-badge{width:42px;height:42px;border-radius:13px;background:var(--orange-soft);display:grid;place-items:center;color:var(--orange);font-weight:900}.vehicle-switch small{display:block;font-size:8px;color:var(--muted);letter-spacing:1px}.vehicle-switch strong{display:block;font-size:15px;margin-top:2px}.vehicle-switch em{display:block;font-style:normal;font-size:9px;color:var(--muted);margin-top:2px}.vehicle-switch select,.toolbar select{border:1px solid var(--line);background:#fafafa;border-radius:11px;padding:10px 12px;font-size:11px;color:var(--ink)}.feature-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;margin-bottom:18px}.feature-grid a{min-width:0;padding:10px 6px;text-align:center;border-radius:14px;transition:.15s}.feature-grid a:hover{background:var(--orange-soft)}.feature-grid span{width:46px;height:46px;border-radius:14px;margin:0 auto 8px;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:10px;font-weight:900}.feature-grid b{display:block;font-size:11px}.feature-grid small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.period-tabs{display:flex;gap:6px;margin:18px 0}.period-tabs a{flex:0 0 auto;padding:9px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:10px;font-weight:750}.period-tabs a.active{background:var(--dark);border-color:var(--dark);color:#fff}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;margin-bottom:26px;box-shadow:var(--shadow)}.metric{padding:22px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric small{font-size:9px;color:#8c919a;letter-spacing:1.2px}.metric strong{display:block;font-size:27px;margin:8px 0 3px;letter-spacing:-1px}.metric strong i{font-style:normal;font-size:12px;color:var(--muted);font-weight:600}.metric span{font-size:9px;color:var(--muted)}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.insight-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.insight-card>span{font-size:9px;color:var(--muted)}.insight-card strong{display:block;font-size:22px;margin:6px 0}.insight-card small{font-size:9px;color:var(--muted);line-height:1.5}.two-col,.profile-grid,.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.list{display:grid}.list-row{display:grid;grid-template-columns:8px 1fr auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f2}.list-row:last-child{border:0}.list-dot{width:7px;height:7px;border-radius:50%;background:var(--orange)}.list-row b{display:block;font-size:11px}.list-row small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.list-row em{font-style:normal;font-size:10px;font-weight:800}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.toolbar span{font-size:10px;color:var(--muted)}.vehicle-cards,.record-grid,.receipt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vehicle-card,.record-card,.receipt-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.vehicle-card-top{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center}.vehicle-avatar{width:46px;height:46px;border-radius:14px;background:var(--orange-soft);display:grid;place-items:center;color:var(--orange);font-weight:900}.vehicle-card-top small,.record-top small,.receipt-card small{font-size:8px;color:var(--muted);letter-spacing:.7px}.vehicle-card h3,.record-card h3,.receipt-card h3{margin:2px 0;font-size:16px}.vehicle-card p,.record-card p,.receipt-card p{margin:0;color:var(--muted);font-size:10px}.plate{font-size:9px;font-weight:850;border:1px solid var(--line);padding:6px 8px;border-radius:8px}.vehicle-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.vehicle-stats span{padding:10px;background:#fafafa;border-radius:12px}.vehicle-stats small{display:block;font-size:7px;color:var(--muted)}.vehicle-stats b{font-size:10px}.card-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f0f0f2;padding-top:12px;margin-top:10px}.card-actions form{margin-left:auto}.record-top{display:flex;justify-content:space-between;gap:10px}.record-top strong{font-size:15px}.record-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.record-meta span{background:#fafafa;border-radius:11px;padding:9px;font-size:8px;color:var(--muted)}.record-meta b{display:block;color:var(--ink);font-size:10px;margin-top:3px}.table-card{padding:0;overflow:hidden}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{text-align:left;font-size:8px;letter-spacing:.9px;color:#8a8f97;padding:13px 15px;background:#fafafa;border-bottom:1px solid var(--line)}td{padding:13px 15px;border-bottom:1px solid #f0f0f2;font-size:10px;vertical-align:middle}td b{font-size:11px}td small{display:block;color:var(--muted);font-size:8px;margin-top:2px}td a{color:var(--orange);font-weight:800}.modal[hidden],.quick-panel[hidden],.date-modal[hidden]{display:none}.modal,.quick-panel,.date-modal{position:fixed;inset:0;z-index:100}.modal-backdrop,.quick-backdrop,.date-backdrop{position:absolute;inset:0;background:rgba(12,15,20,.48);border:0;backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(720px,calc(100% - 24px));max-height:calc(100vh - 40px);overflow:auto;margin:20px auto;background:#fff;border-radius:24px;padding:22px;box-shadow:0 25px 80px rgba(0,0,0,.22)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.modal-head small{font-size:8px;color:var(--orange);font-weight:850;letter-spacing:1px}.modal-head h2{margin:3px 0;font-size:22px}.modal-head>button{border:0;background:#f5f5f6;border-radius:50%;width:34px;height:34px;font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.form-stack{display:grid;gap:12px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}label{display:grid;gap:6px;font-size:9px;font-weight:800;color:#666c75}input,select,textarea{width:100%;border:1px solid #dedfe3;background:#fff;border-radius:11px;padding:11px 12px;color:var(--ink);font-size:11px;outline:none}input:focus,select:focus,textarea:focus{border-color:#f4ae79;box-shadow:0 0 0 3px #fff2e8}textarea{min-height:85px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.check-line{display:flex!important;align-items:center;gap:8px}.check-line input{width:16px;height:16px}.date-control{position:relative;display:flex}.date-control input{padding-right:42px}.date-control button{position:absolute;right:5px;top:5px;bottom:5px;width:32px;border:0;border-radius:8px;background:var(--orange-soft);color:var(--orange);font-weight:900}.date-dialog{position:absolute;width:min(390px,calc(100% - 24px));left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:24px;padding:18px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.date-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center}.date-head button{width:34px;height:34px;border:0;border-radius:10px;background:#f5f5f6;font-size:22px}.date-head div{text-align:center}.date-head small{display:block;color:var(--orange);font-size:8px;font-weight:900;letter-spacing:1px}.date-head strong{font-size:17px}.date-week,.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.date-week{margin-top:16px}.date-week span{text-align:center;font-size:8px;color:var(--muted);padding:7px 0}.date-grid button{border:0;background:#fff;border-radius:10px;height:38px;font-size:10px}.date-grid button:hover{background:var(--orange-soft)}.date-grid button.today{outline:1px solid #f6bb8d}.date-grid button.selected{background:var(--orange);color:#fff;font-weight:900}.date-grid button.other{color:#bec1c7}.date-actions{display:flex;justify-content:space-between;margin-top:14px}.reminder-list{display:grid;gap:10px}.reminder-card{display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.reminder-status{width:8px;height:8px;border-radius:50%;background:var(--orange)}.reminder-card.done{opacity:.55}.reminder-card.done .reminder-status{background:#9aa0a8}.reminder-card small{font-size:8px;color:var(--muted)}.reminder-card h3{margin:3px 0;font-size:14px}.reminder-card p{margin:0;font-size:9px;color:var(--muted);line-height:1.5}.month-control,.report-filter{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:14px}.month-control form,.report-filter{display:flex;align-items:flex-end;gap:9px}.month-control label,.report-filter label{min-width:180px}.budget-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.budget-summary>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.budget-summary small{font-size:8px;color:var(--muted);letter-spacing:1px}.budget-summary strong{display:block;font-size:21px;margin-top:6px}.timeline{position:relative}.timeline article{display:grid;grid-template-columns:26px 1fr}.time-mark{position:relative;display:flex;justify-content:center}.time-mark:before{content:"";position:absolute;top:0;bottom:-12px;width:1px;background:#dddfe3}.time-mark span{position:relative;margin-top:22px;width:9px;height:9px;border:2px solid var(--orange);background:#fff;border-radius:50%;z-index:1}.timeline-card{display:flex;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;margin-bottom:10px}.timeline-card small{font-size:8px;color:var(--muted)}.timeline-card h3{font-size:13px;margin:3px 0}.timeline-card p{font-size:9px;color:var(--muted);margin:0}.timeline-card strong{font-size:12px}.receipt-grid{grid-template-columns:repeat(4,1fr)}.receipt-card{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center}.receipt-icon{width:42px;height:42px;background:var(--orange-soft);color:var(--orange);display:grid;place-items:center;border-radius:12px;font-size:9px;font-weight:900}.plan-current{background:var(--dark);color:#fff;border-radius:14px;padding:10px 14px}.plan-current small{display:block;font-size:7px;color:#bfc3c8}.plan-current strong{display:block;font-size:15px}.plan-current span{font-size:8px;color:#c9ccd1}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.plan-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px}.plan-card.featured{border-color:#f1a46f;box-shadow:0 18px 40px rgba(239,127,50,.12)}.plan-card>small{font-size:8px;color:var(--orange);font-weight:900;letter-spacing:1px}.plan-card h2{font-size:25px;margin:7px 0}.plan-card h2 span{font-size:9px;color:var(--muted);font-weight:600}.plan-card p{font-size:10px;color:var(--muted)}.plan-card ul{padding-left:17px;min-height:100px}.plan-card li{font-size:9px;margin:8px 0}.payment-methods{margin-bottom:22px}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.method-grid>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px}.method-grid b{display:block;font-size:11px}.method-grid span{font-size:8px;color:var(--muted)}.status{display:inline-block;padding:5px 8px;border-radius:999px;background:#f1f2f4;font-size:8px;font-weight:900}.status.paid{background:#e8f6ef;color:var(--success)}.status.pending{background:#fff3e6;color:#b56220}.status.failed,.status.rejected,.status.canceled,.status.expired{background:#fcebea;color:var(--danger)}.payment-modal{width:min(620px,calc(100% - 24px))}.billing-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f3f4f5;padding:4px;border-radius:11px;margin-bottom:14px}.billing-tabs button{border:0;background:transparent;border-radius:8px;padding:9px;font-size:10px;font-weight:800}.billing-tabs button.active{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06)}.gateway-box{display:flex;gap:12px;background:#fafafa;border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:13px}.gateway-box>span{width:42px;height:42px;border-radius:12px;background:var(--dark);color:#fff;display:grid;place-items:center;font-size:8px;font-weight:900}.gateway-box h3{margin:0;font-size:12px}.gateway-box p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.manual-pay-info{text-align:center;margin-bottom:13px}.manual-pay-info img,.qris-admin img{max-width:220px;max-height:220px;border-radius:14px;border:1px solid var(--line)}.manual-pay-info>b{display:block;font-size:11px;margin-top:6px}.qris-placeholder{width:210px;height:210px;margin:auto;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#f7f7f7,#f7f7f7 8px,#eee 8px,#eee 16px);border-radius:14px;font-weight:900}.qris-placeholder small{font-weight:600;color:var(--muted)}.account-lines{display:grid;gap:5px;margin-top:10px;text-align:left}.account-lines span{background:#fafafa;padding:9px 10px;border-radius:10px;font-size:9px}.gateway-state{padding:7px 10px;border-radius:999px;font-size:9px;font-weight:900}.gateway-state.ok{background:#e8f6ef;color:var(--success)}.gateway-state.off{background:#fff0e7;color:#b56220}.gateway-note,.version-card{margin-top:16px;padding:13px;background:#fafafa;border-radius:13px}.gateway-note b,.version-card b{font-size:11px}.gateway-note p,.version-card small{font-size:9px;color:var(--muted);line-height:1.5}.qris-admin{display:flex;align-items:center;gap:12px;background:#fafafa;padding:10px;border-radius:12px}.qris-admin img{width:100px;height:100px;object-fit:contain}.inline-review{display:flex;gap:5px}.profile-identity{display:flex;gap:12px;align-items:center;margin-bottom:18px}.profile-identity>span{width:54px;height:54px;border-radius:17px;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900}.profile-identity h2{margin:0;font-size:20px}.profile-identity p{margin:3px 0 0;color:var(--muted);font-size:9px}.version-card{display:grid;gap:4px}.version-card span{font-size:8px;color:var(--muted)}.version-card b{font-size:20px}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:200;display:grid;gap:8px}.toast{min-width:260px;max-width:390px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 14px 50px rgba(0,0,0,.16);display:grid}.toast b{font-size:10px}.toast span{font-size:9px;color:var(--muted);margin-top:3px}.toast.success{border-left:3px solid var(--success)}.toast.error{border-left:3px solid var(--danger)}.auth-page{background:#1f2227;padding:24px;display:grid;place-items:center}.auth-shell{width:min(1080px,100%);min-height:660px;background:#fff;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:1.08fr .92fr;box-shadow:0 35px 110px rgba(0,0,0,.28)}.auth-shell.compact{min-height:690px}.auth-hero{padding:56px;background:linear-gradient(145deg,#f28a3e,#e76c22);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.auth-brand small{color:#ffe2cc}.auth-hero .eyebrow{color:#ffe0c7}.auth-hero h1{font-size:43px;line-height:1.03;letter-spacing:-2px;max-width:520px;margin:12px 0 18px}.auth-hero p{font-size:12px;line-height:1.7;color:#fff1e6;max-width:500px}.hero-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:36px}.hero-mini span{border-top:1px solid rgba(255,255,255,.28);padding-top:10px}.hero-mini b{font-size:10px}.hero-mini small{display:block;font-size:8px;color:#ffe0cb;margin-top:3px}.auth-card{padding:56px;display:flex;flex-direction:column;justify-content:center}.auth-card h2{font-size:27px;margin:5px 0}.auth-card>p{font-size:10px;color:var(--muted);margin:0 0 20px}.auth-switch{text-align:center;margin-top:15px;font-size:10px;color:var(--muted)}.auth-switch a{color:var(--orange);font-weight:850}.version-line{display:block;text-align:center;margin-top:20px;color:#a0a4ab;font-size:8px}.mobile-auth-logo{display:none}.inline-alert{padding:10px 12px;border-radius:10px;font-size:9px;margin-bottom:12px;background:#f3f4f5}.inline-alert.error{background:#fcebea;color:var(--danger)}.inline-alert.success{background:#e8f6ef;color:var(--success)}.error-page{display:grid;place-items:center;min-height:100vh;background:#f7f7f8;text-align:center}.error-page small{display:block;margin-top:20px;color:var(--orange);font-weight:900}.error-page h1{font-size:28px}.quick-panel{display:none}
@media(max-width:1180px){.feature-grid{grid-template-columns:repeat(4,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.vehicle-cards,.record-grid{grid-template-columns:repeat(2,1fr)}.receipt-grid{grid-template-columns:repeat(3,1fr)}.method-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(-102%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0}.menu-button{display:block}.topbar{padding:0 16px}.content{padding:20px 14px 100px}.two-col,.profile-grid,.admin-grid{grid-template-columns:1fr}.auth-page{padding:0}.auth-shell{border-radius:0;min-height:100vh;grid-template-columns:1fr}.auth-hero{display:none}.auth-card{padding:32px;max-width:520px;width:100%;margin:auto}.mobile-auth-logo{display:flex;align-items:center;gap:9px;margin-bottom:32px}.plan-grid{grid-template-columns:1fr}.receipt-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){body{background:#f7f7f8}.topbar{height:64px}.topbar-copy strong{font-size:14px}.topbar-actions .profile-chip b{display:none}.content{padding:12px 12px 96px}.mobile-welcome{display:grid;padding:8px 4px 14px}.mobile-welcome span{font-size:13px;color:var(--muted)}.mobile-welcome strong{font-size:19px;margin-top:2px}.vehicle-switch{grid-template-columns:42px 1fr 28px;padding:12px}.vehicle-switch select{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.vehicle-switch:after{content:"⌄";grid-column:3;color:var(--orange);font-size:20px;font-weight:900}.feature-grid{grid-template-columns:repeat(4,1fr);padding:12px;gap:5px}.feature-grid span{width:45px;height:45px}.feature-grid small{display:none}.feature-grid b{font-size:9px}.period-tabs{overflow:auto;padding-bottom:3px}.period-tabs a{min-width:76px;text-align:center}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:16px 13px}.metric strong{font-size:20px}.metric span{font-size:8px}.insight-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column;margin-bottom:16px}.page-head h1{font-size:24px}.page-head>.btn{width:100%}.vehicle-cards,.record-grid,.receipt-grid{grid-template-columns:1fr}.form-grid,.form-two{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal-card{margin:8px auto;max-height:calc(100vh - 16px);padding:17px;border-radius:20px}.toolbar{align-items:stretch}.toolbar form{flex:1}.toolbar select{width:100%}.budget-summary{grid-template-columns:1fr}.month-control form,.report-filter{align-items:stretch;flex-direction:column}.month-control label,.report-filter label{width:100%;min-width:0}.plan-current{width:100%}.method-grid{grid-template-columns:1fr 1fr}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;left:0;right:0;bottom:0;height:74px;padding:8px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fff;border-top:1px solid var(--line);z-index:50}.mobile-nav a{display:grid;place-items:center;gap:2px;font-size:8px;color:#7c828d}.mobile-nav a span{font-size:19px;line-height:1}.mobile-nav a.active{color:var(--orange);font-weight:850}.mobile-add{align-self:start;justify-self:center;margin-top:-27px;width:58px;height:58px;border-radius:50%;border:7px solid var(--bg);background:var(--orange);color:#fff;font-size:28px;box-shadow:0 8px 18px rgba(239,127,50,.28)}.quick-panel{display:block}.quick-sheet{position:absolute;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));background:#fff;border-radius:24px;padding:10px 16px 20px}.sheet-handle{width:36px;height:4px;border-radius:999px;background:#ddd;margin:0 auto 12px}.quick-sheet h3{margin:0;font-size:18px}.quick-sheet p{margin:4px 0 14px;color:var(--muted);font-size:9px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-grid a{padding:15px;border-radius:13px;background:var(--orange-soft);color:#a95519;font-size:11px;font-weight:850}.toast-stack{left:10px;right:10px;bottom:88px}.toast{min-width:0;max-width:none}.auth-card{padding:28px 22px}.auth-card h2{font-size:25px}.date-dialog{top:50%;bottom:auto;transform:translate(-50%,-50%);border-radius:24px}.table-card,.panel{border-radius:17px}.timeline article{grid-template-columns:20px 1fr}.timeline-card{padding:13px}.sidebar{width:240px}}

/* ZiFuel v1.2 — compact server-based date & time pickers */
.date-modal,.time-modal{z-index:120}
.time-modal[hidden]{display:none}
.time-modal{position:fixed;inset:0}
.time-backdrop{position:absolute;inset:0;background:rgba(12,15,20,.38);border:0;backdrop-filter:blur(2px)}
.date-dialog{width:min(314px,calc(100% - 32px));padding:12px;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.date-head{grid-template-columns:32px 1fr 32px;gap:6px}
.date-head>button{width:30px;height:30px;border-radius:9px;font-size:18px}
.date-head small{font-size:7px;letter-spacing:1.15px;margin-bottom:4px}
.date-select-row{display:grid;grid-template-columns:1fr 82px;gap:5px}
.date-head select{height:30px;padding:4px 24px 4px 8px;border-radius:9px;background:#f6f6f7;border:1px solid #ececef;font-size:10px;font-weight:800;text-align:center;box-shadow:none}
.date-week{margin-top:9px}
.date-week span{font-size:7px;padding:4px 0}
.date-week,.date-grid{gap:2px}
.date-grid button{height:31px;border-radius:8px;font-size:9px}
.date-grid button.today{outline:1px solid #f2a66e;outline-offset:-1px}
.date-grid button.selected{box-shadow:0 4px 10px rgba(239,127,50,.22)}
.date-actions{margin-top:9px;gap:5px}
.date-actions .btn{padding:8px 9px;font-size:8px;border-radius:9px}
.date-actions .date-actions-left{display:flex;gap:5px}
.date-control,.time-control{position:relative;display:flex}
.date-control input,.time-control input{padding-right:42px;cursor:pointer;background:#fff}
.date-control button,.time-control button{position:absolute;right:5px;top:5px;bottom:5px;width:32px;border:0;border-radius:8px;background:var(--orange-soft);color:var(--orange);font-weight:900}
.time-control button{font-size:13px}
.time-dialog{position:absolute;width:min(304px,calc(100% - 32px));left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:19px;padding:14px;box-shadow:0 24px 70px rgba(0,0,0,.27)}
.time-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.time-head small{display:block;color:var(--orange);font-size:7px;font-weight:900;letter-spacing:1.1px}
.time-head strong{display:block;font-size:14px;margin-top:2px}
.time-head>button{border:0;background:#f5f5f6;border-radius:9px;width:30px;height:30px;font-size:17px}
.time-preview{text-align:center;margin:10px 0 7px}
.time-preview b{font-size:30px;letter-spacing:-1.4px}
.time-preview small{display:block;margin-top:2px;color:var(--muted);font-size:7px}
.time-wheels{display:grid;grid-template-columns:1fr 18px 1fr;align-items:center;gap:5px;max-width:190px;margin:0 auto;background:#f7f7f8;border:1px solid #ededf0;border-radius:14px;padding:6px}
.time-colon{text-align:center;font-size:22px;font-weight:900;color:#9a9da4}
.time-wheel{height:126px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;border-radius:10px;scrollbar-width:none}
.time-wheel::-webkit-scrollbar{display:none}
.time-wheel button{display:block;width:100%;height:34px;border:0;background:transparent;border-radius:9px;font-size:11px;font-weight:750;color:#8c9098;scroll-snap-align:center}
.time-wheel button:hover{background:#fff}
.time-wheel button.selected{background:#fff;color:var(--ink);font-size:15px;font-weight:900;box-shadow:0 3px 10px rgba(0,0,0,.08)}
.time-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:9px}
.time-quick button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 3px;font-size:7px;font-weight:800;color:#686d75}
.time-quick button:first-child{background:var(--orange-soft);border-color:#f7d6be;color:#ae5b20}
.time-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:9px}
.time-actions .btn{padding:8px 10px;font-size:8px;border-radius:9px}
.datetime-note{font-size:7px!important;color:#a3a6ac!important;font-weight:600!important;margin-top:-2px}
@media(max-width:640px){
  .date-dialog{width:min(306px,calc(100% - 28px));padding:11px;border-radius:17px;top:50%;bottom:auto;transform:translate(-50%,-50%)}
  .date-grid button{height:30px}
  .time-dialog{width:min(296px,calc(100% - 28px));padding:12px;border-radius:18px}
  .time-preview b{font-size:28px}
}
