:root{--bg:#f3f6fb;--panel:#fff;--ink:#0f172a;--muted:#64748b;--primary:#155EEF;--primary-dark:#0f46b8;--line:#dbe3ef;--success:#17a36b;--danger:#c2410c;--warn:#b7791f;--shadow:0 20px 45px rgba(15,23,42,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--primary);text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:280px;background:#0b1220;color:#e2e8f0;padding:24px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#155EEF,#00A3FF);display:grid;place-items:center;color:white;font-weight:900}.brand span{display:block;color:#94a3b8;font-size:12px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{color:#cbd5e1;padding:12px 14px;border-radius:12px}.sidebar nav a.active,.sidebar nav a:hover{background:#172033;color:#fff}.sidebar-footer{margin-top:auto}.link-button{background:none;border:0;color:#93c5fd;cursor:pointer;padding:0}.main-panel{flex:1;min-width:0}.center-panel{display:grid;place-items:center}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px 34px 10px}.topbar h1{margin:0;font-size:30px}.topbar p{margin:6px 0 0;color:var(--muted)}.content{padding:24px 34px 45px}.card,.login-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:22px;margin-bottom:22px}.login-card{width:min(440px,94vw)}.login-brand{margin-bottom:18px}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.stat-card span{display:block;color:var(--muted);font-size:13px}.stat-card strong{font-size:34px}.card-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:white;color:var(--ink);padding:10px 14px;border-radius:12px;font-weight:700;cursor:pointer}.btn.primary{background:var(--primary);border-color:var(--primary);color:white}.btn.primary:hover{background:var(--primary-dark)}.btn.small{padding:6px 10px;font-size:13px}.btn.full{width:100%}.alert{padding:14px 16px;border-radius:14px;margin-bottom:16px}.alert.success{background:#ecfdf5;color:#065f46}.alert.error{background:#fff7ed;color:#9a3412}.alert.warning,.notice{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.notice{padding:14px;border-radius:14px;margin-bottom:15px}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filter-row input,.filter-row select{max-width:260px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:13px;border-bottom:1px solid var(--line);padding:12px}td{border-bottom:1px solid #eef2f7;padding:14px;vertical-align:top}small,.hint{color:var(--muted)}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e2e8f0;font-weight:700;font-size:12px}.badge.new,.badge.scheduled{background:#dbeafe;color:#1d4ed8}.badge.assigned,.badge.en_route{background:#fef3c7;color:#92400e}.badge.completed,.badge.active{background:#dcfce7;color:#166534}.badge.cancelled,.badge.inactive{background:#fee2e2;color:#991b1b}.badge.emergency{background:#fee2e2}.empty{text-align:center;color:var(--muted);padding:28px}.stack-form{display:grid;gap:16px}.form-grid{display:grid;gap:16px;margin-bottom:18px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}label{display:grid;gap:7px;font-weight:700;font-size:14px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;font:inherit;background:white}textarea{min-height:96px;resize:vertical}.form-actions{display:flex;gap:10px;justify-content:flex-end}.checkbox-row{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0 18px}.checkbox-row label{display:flex;align-items:center;gap:8px}.checkbox-row input{width:auto}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px}.detail-card dl{display:grid;grid-template-columns:150px 1fr;gap:11px}.detail-card dt{font-weight:800;color:var(--muted)}pre{white-space:pre-wrap;background:#f8fafc;border:1px solid var(--line);padding:12px;border-radius:12px}.note-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.note{border-bottom:1px solid var(--line);padding:13px 0}.note small{display:block}.autocomplete-box{position:absolute;background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;z-index:20;max-height:240px;overflow:auto}.autocomplete-box button{display:block;width:100%;text-align:left;background:white;border:0;padding:10px 12px;cursor:pointer}.autocomplete-box button:hover{background:#eff6ff}.question{display:none}.question.show{display:grid}@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid.two,.form-grid.three,.form-grid.four,.detail-grid{grid-template-columns:1fr}.sidebar{width:230px}}@media(max-width:760px){.app-shell{display:block}.sidebar{width:100%;border-radius:0}.topbar{display:grid}.content,.topbar{padding-left:16px;padding-right:16px}.stats-grid{grid-template-columns:1fr}.note-form{grid-template-columns:1fr}.filter-row input,.filter-row select{max-width:none;width:100%}}

.action-grid{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.inline-form{display:grid;gap:10px;margin-top:14px}.public-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:#f3f6fb}.public-card{width:min(760px,96vw);background:white;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:28px}.public-card.wide{width:min(980px,96vw)}.checkbox-line{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:10px}.checkbox-line input{width:auto}.action-card h3{margin-top:0}@media(max-width:760px){.action-grid{display:grid}.action-grid .btn,.action-grid form,.action-grid button{width:100%}}

/* V3.4 polish: receipt/invoice/driver/partner job sheets + pricing */
.job-hero,.profile-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,#0b1220,#155EEF);color:white;border-radius:26px;padding:28px;margin-bottom:22px;box-shadow:var(--shadow)}.job-hero h2,.profile-hero h2{font-size:34px;margin:4px 0}.job-hero p,.profile-hero p{color:#dbeafe;margin:0}.eyebrow{display:inline-flex;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900;color:#93c5fd}.job-hero-money{display:grid;grid-template-columns:auto auto;gap:6px 16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:16px;border-radius:18px}.job-hero-money span{color:#bfdbfe}.job-hero-money strong{font-size:24px}.quick-link-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:22px}.link-card{margin-bottom:0}.link-card h3{margin-top:0}.money-card .money-big{font-size:38px;font-weight:900;color:var(--primary);margin:8px 0}.profile-hero.driver-hero{background:linear-gradient(135deg,#064e3b,#16a34a)}.profile-hero.partner-hero{background:linear-gradient(135deg,#581c87,#7c3aed)}.pricing-preview{background:#eff6ff;border:1px dashed #93c5fd;color:#1e3a8a;border-radius:14px;padding:12px;margin:0 0 18px}.mileage-panel{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:16px}.public-page.invoice-bg{background:radial-gradient(circle at top left,#dbeafe,#f8fafc 45%,#eff6ff)}.driver-job-bg{background:radial-gradient(circle at top left,#dcfce7,#f8fafc 48%,#ecfdf5)}.partner-job-bg{background:radial-gradient(circle at top left,#ede9fe,#f8fafc 48%,#f5f3ff)}.public-document{width:min(900px,96vw);background:white;border:1px solid var(--line);border-radius:28px;box-shadow:0 30px 70px rgba(15,23,42,.16);padding:34px}.doc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}.doc-header h1{font-size:34px;margin:6px 0}.doc-header p{color:var(--muted);margin:0}.doc-number{background:#0b1220;color:white;border-radius:20px;padding:16px 18px;text-align:right;min-width:190px}.doc-number span,.doc-number small{display:block;color:#bfdbfe}.doc-number strong{display:block;font-size:22px}.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.doc-grid section,.route-card{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:18px}.route-card h3,.doc-grid h3{margin-top:0}.receipt-status{display:inline-flex;padding:8px 14px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:900;margin-bottom:18px}.receipt-status.paid{background:#dcfce7;color:#166534}.invoice-table{margin-top:18px;border:1px solid var(--line);border-radius:18px;overflow:hidden}.invoice-table th,.invoice-table td{padding:16px}.invoice-table tfoot th{font-size:18px;background:#f8fafc}.doc-actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.doc-footer{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;color:var(--muted)}.job-sheet .doc-number{background:#155EEF}.job-sheet a{font-weight:800}@media(max-width:1150px){.quick-link-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.job-hero,.profile-hero,.doc-header,.doc-grid{display:grid}.quick-link-grid{grid-template-columns:1fr}.job-hero-money{grid-template-columns:1fr}.public-document{padding:20px}.doc-number{text-align:left}.doc-header h1{font-size:28px}}


/* V3.5 driver telegram workflow + payout/profit reports */
.workflow-buttons,.period-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}.btn.danger{background:#fee2e2;border-color:#fecaca;color:#991b1b}.driver-document .doc-number{background:linear-gradient(135deg,#064e3b,#16a34a)}.driver-portal .doc-number{background:linear-gradient(135deg,#155EEF,#0f46b8)}.payout-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin:18px 0}.payout-stats .stat-card strong{font-size:26px}.money-positive{color:#166534;font-weight:900}.money-negative{color:#991b1b;font-weight:900}.telegram-template{background:#eff6ff;border:1px dashed #93c5fd;border-radius:16px;padding:14px;white-space:pre-wrap}@media(max-width:760px){.workflow-buttons,.period-tabs{display:grid}.workflow-buttons .btn,.period-tabs .btn{width:100%}.payout-stats{grid-template-columns:1fr}}

/* V3.9 service-smart booking form */
.service-smart-fields{margin:18px 0;}
.service-panel{display:none;border:1px solid rgba(15,23,42,.10);background:linear-gradient(180deg,#ffffff,#f8fafc);border-radius:18px;padding:18px;margin:14px 0;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.service-panel h3{margin-top:0;}
.notice.soft{background:#f8fafc;border:1px solid #e2e8f0;color:#334155;border-radius:14px;padding:12px 14px;}
.is-required-field > span::after,.is-required-field::after{content:' Required';font-size:12px;font-weight:800;color:#b91c1c;margin-left:6px;}
.service-panel select:required,.service-panel input:required{border-color:#2563eb;box-shadow:0 0 0 1px rgba(37,99,235,.10)}

/* V3.11 responsive booking forms + driver/partner schedules */
.form-section-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin:0 0 18px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.form-section-card h3{margin-top:0}.form-section-card .card-header{margin-bottom:12px}.stacked-mobile{align-items:flex-start}.schedule-card{background:linear-gradient(180deg,#ffffff,#f8fafc)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:12px 0 18px}.day-pill{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:800;text-align:center}.day-pill input{width:auto}.schedule-checkbox-row label{background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:9px 12px}.public-page.booking-bg{align-items:start;padding:22px 12px}.booking-form{max-width:1040px}.booking-form h3{margin-bottom:4px}.booking-form input,.booking-form select,.booking-form textarea{font-size:16px}.booking-form .form-grid{align-items:end}.booking-form .doc-header{gap:16px}.booking-form .btn{min-height:44px}.booking-form .notice{line-height:1.45}.booking-form .service-panel{scroll-margin-top:12px}.booking-form .action-grid{margin:4px 0 12px}.booking-form .form-actions{position:sticky;bottom:0;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:12px;margin:10px -12px -12px;z-index:5}
@media(max-width:980px){.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.responsive-form-grid.form-grid.two,.responsive-form-grid.form-grid.three,.responsive-form-grid.form-grid.four{grid-template-columns:1fr 1fr}.public-card.wide{width:100%;max-width:100%;padding:22px}.booking-form .doc-header{display:grid}.booking-form .doc-number{width:100%;text-align:left}.booking-form .form-grid.three{grid-template-columns:1fr 1fr}.booking-form .form-grid.two{grid-template-columns:1fr 1fr}}
@media(max-width:640px){body{background:#f8fafc}.public-page{padding:10px}.public-card,.public-card.wide{width:100%;border-radius:16px;padding:16px;box-shadow:0 12px 28px rgba(15,23,42,.08)}.booking-form h1{font-size:26px}.booking-form .doc-header h1{font-size:26px}.booking-form .form-grid.two,.booking-form .form-grid.three,.booking-form .form-grid.four,.responsive-form-grid.form-grid.two,.responsive-form-grid.form-grid.three,.responsive-form-grid.form-grid.four{grid-template-columns:1fr}.booking-form .form-grid{gap:12px;margin-bottom:12px}.booking-form input,.booking-form select,.booking-form textarea{min-height:48px}.booking-form textarea{min-height:88px}.booking-form .action-grid{display:grid;gap:8px}.booking-form .action-grid .btn,.booking-form .form-actions .btn,.booking-form button{width:100%}.booking-form .form-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-left:-16px;margin-right:-16px;margin-bottom:-16px}.service-panel{padding:14px;border-radius:15px}.week-grid{grid-template-columns:1fr 1fr}.day-pill{justify-content:flex-start}.checkbox-row,.schedule-checkbox-row{display:grid;grid-template-columns:1fr;gap:8px}.schedule-checkbox-row label{border-radius:14px}.form-section-card{padding:14px;border-radius:16px}.stacked-mobile{display:grid!important;gap:10px}.topbar{position:sticky;top:0;background:var(--bg);z-index:10;border-bottom:1px solid var(--line)}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar{padding:16px}.content{padding:16px 12px 36px}.card{padding:16px;border-radius:16px}.detail-card dl{grid-template-columns:1fr;gap:6px}.doc-actions,.workflow-buttons,.period-tabs{display:grid}.doc-actions .btn,.workflow-buttons .btn,.period-tabs .btn{width:100%}}
@media(max-width:390px){.week-grid{grid-template-columns:1fr}.booking-form h1{font-size:22px}.doc-number{min-width:0}.btn{padding:10px 12px}}

/* V3.39 order attachment uploader */
.upload-card{margin-top:18px;border:1px solid #e5e7eb;background:#fff;border-radius:18px;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.upload-card .wide-file-input input[type=file]{padding:10px;background:#f8fafc;border:1px dashed #94a3b8;border-radius:12px;width:100%}
.upload-progress{height:9px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:12px 0}
.upload-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#16a34a,#22c55e);transition:width .25s ease}
.upload-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:14px}
.upload-preview-item{border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;padding:10px;display:flex;gap:10px;align-items:center;min-height:86px}
.upload-preview-item img{width:74px;height:74px;object-fit:cover;border-radius:12px;border:1px solid #e5e7eb;background:#fff}
.upload-preview-item strong{display:block;color:#111827;font-size:13px}
.upload-preview-item small{display:block;color:#64748b;font-size:12px;line-height:1.35;word-break:break-word}
.upload-preview-item .file-chip{display:inline-flex;align-items:center;justify-content:center;width:74px;height:74px;border-radius:12px;background:#e0f2fe;color:#075985;text-decoration:none;text-align:center;font-size:12px;padding:7px;overflow:hidden}
.upload-preview-item form{margin-left:auto}
.attachments-card{margin-bottom:18px}
@media (max-width:720px){.upload-preview-item{align-items:flex-start}.upload-preview-item form{margin-left:0}.upload-preview-grid{grid-template-columns:1fr}}
