@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --saas-bg:#fafafc;
  --saas-card:#fff;
  --saas-text:#18181b;
  --saas-muted:#71717a;
  --saas-border:#ececef;
  --saas-border-strong:#dedee3;
  --saas-yellow:#ffcc16;
  --saas-yellow-soft:#fff8d7;
  --saas-red:#dc4b4b;
  --saas-green:#179b62;
  --saas-shadow:0 1px 2px rgba(24,24,27,.03),0 8px 28px rgba(24,24,27,.045);
  --saas-shadow-hover:0 2px 4px rgba(24,24,27,.04),0 14px 34px rgba(24,24,27,.075);
  --saas-radius:17px;
}

*{box-sizing:border-box}
html,body,button,input,select,textarea{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important}
body{background:var(--saas-bg)!important;color:var(--saas-text)!important}
main{background:var(--saas-bg)!important;padding:34px 40px 48px!important}

/* Sidebar */
aside{
  background:#151619!important;
  border-right:1px solid rgba(255,255,255,.06)!important;
  padding:24px 17px 20px!important;
  box-shadow:8px 0 34px rgba(17,18,20,.05)!important;
}
aside .brand{padding:2px 8px 24px!important;margin-bottom:8px!important}
aside .brand img{border-radius:14px!important;box-shadow:0 8px 20px rgba(255,204,22,.14)!important}
aside .brand b{font-size:18px!important;letter-spacing:-.02em!important}
aside .brand small{color:#a1a1aa!important;font-size:11px!important;font-weight:600!important;letter-spacing:.03em!important}
aside nav{display:flex!important;flex-direction:column!important;gap:5px!important}
aside nav button,
aside .report-link{
  min-height:48px!important;
  height:48px!important;
  padding:0 13px!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  background:transparent!important;
  color:#c9c9cf!important;
  font-size:13px!important;
  font-weight:600!important;
  gap:12px!important;
  box-shadow:none!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease!important;
}
aside nav button:hover,
aside .report-link:hover{background:#202125!important;color:#fff!important;border-color:#2b2c31!important;transform:translateX(2px)!important}
aside nav button.active,
aside .report-link.active{
  background:var(--saas-yellow-soft)!important;
  color:#24220f!important;
  border-color:#f2df82!important;
  box-shadow:0 7px 20px rgba(255,204,22,.10)!important;
}
aside .nav-icon{
  width:28px!important;height:28px!important;min-width:28px!important;
  display:grid!important;place-items:center!important;
  border-radius:9px!important;background:#24252a!important;
  color:#d6d6dc!important;
}
aside .nav-icon svg{width:17px!important;height:17px!important;stroke-width:1.8!important}
aside button.active .nav-icon{background:#fff1a8!important;color:#322e13!important}
aside .user{
  margin-top:auto!important;
  padding:16px!important;
  border:1px solid #303137!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#1d1e22,#191a1e)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.14)!important;
}
aside .user .report-link{margin:-4px -4px 14px!important;width:calc(100% + 8px)!important}
aside .user>b{font-size:13px!important;color:#fff!important}
aside .user>small{color:#a8a8b0!important;margin-top:5px!important;line-height:1.4!important}
aside .logout-access{height:40px!important;min-height:40px!important;border-radius:11px!important;margin-top:14px!important;border:1px solid #744040!important;color:#ffb4b4!important;background:transparent!important}

/* Page heading */
main>header{min-height:auto!important;margin:0 0 25px!important;padding:0!important;align-items:flex-end!important;background:transparent!important;border:0!important}
main>header h1,#pageTitle{font-size:28px!important;line-height:1.2!important;letter-spacing:-.035em!important;font-weight:750!important;color:#18181b!important}
#currentDateLine{margin-top:8px!important;color:#898991!important;font-size:13px!important}
.header-actions{gap:10px!important;align-items:center!important}

/* Buttons */
button,.primary,.approve,.open,.reject,.pdf-link{
  min-height:42px!important;
  border-radius:12px!important;
  font-size:13px!important;
  font-weight:650!important;
  letter-spacing:-.01em!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease!important;
}
button:hover,.primary:hover,.approve:hover,.open:hover,.reject:hover,.pdf-link:hover{transform:translateY(-1px)!important}
.primary,.approve,#addDriver{
  background:var(--saas-yellow)!important;color:#221f0b!important;
  border:1px solid #eabd0c!important;box-shadow:0 5px 14px rgba(224,174,0,.16)!important;
}
.primary:hover,.approve:hover,#addDriver:hover{background:#ffd532!important;box-shadow:0 8px 20px rgba(224,174,0,.22)!important}
.open,.secondary,.pdf-link,.toolbar button{
  background:#fff!important;color:#29292e!important;border:1px solid var(--saas-border-strong)!important;
  box-shadow:0 1px 2px rgba(24,24,27,.04)!important;
}
.open:hover,.secondary:hover,.pdf-link:hover{background:#fafafa!important;border-color:#cacbd0!important}
.reject,.danger-delete{
  background:#fff!important;color:var(--saas-red)!important;border:1px solid #efb8b8!important;box-shadow:none!important;
}
.reject:hover,.danger-delete:hover{background:#fff6f6!important;border-color:#df8f8f!important}
button:disabled{opacity:.48!important;transform:none!important;box-shadow:none!important}

/* Panels, search and filters */
.panel{
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;
}
.toolbar{
  background:#fff!important;border:1px solid var(--saas-border)!important;border-radius:var(--saas-radius)!important;
  padding:13px!important;gap:12px!important;box-shadow:var(--saas-shadow)!important;margin-bottom:18px!important;
}
.toolbar input,#search{
  min-height:46px!important;height:46px!important;border-radius:13px!important;border:1px solid #ededf0!important;
  background:#f7f7f9!important;color:#202025!important;padding:0 16px 0 43px!important;font-size:13px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23818189' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:15px center!important;
}
.toolbar input:focus,#search:focus{background-color:#fff!important;border-color:#d8c45e!important;box-shadow:0 0 0 4px rgba(255,204,22,.11)!important;outline:0!important}
.toolbar input::placeholder,#search::placeholder{color:#9b9ba3!important}
.toolbar select,#toolbarFilter,select{
  min-height:46px!important;height:46px!important;border-radius:13px!important;border:1px solid #e5e5e8!important;
  background-color:#fff!important;color:#303036!important;padding:0 40px 0 14px!important;font-size:13px!important;font-weight:550!important;
  box-shadow:0 1px 2px rgba(24,24,27,.025)!important;
}

/* Tables as cards */
table{width:100%!important;border-collapse:separate!important;border-spacing:0 10px!important;background:transparent!important}
thead th{border:0!important;background:transparent!important;color:#888891!important;font-size:10px!important;font-weight:700!important;letter-spacing:.055em!important;text-transform:uppercase!important;padding:5px 15px 8px!important}
tbody tr{filter:drop-shadow(0 5px 14px rgba(24,24,27,.035))!important;transition:filter .18s ease,transform .18s ease!important}
tbody tr:hover{filter:drop-shadow(0 10px 23px rgba(24,24,27,.075))!important;transform:translateY(-1px)!important}
tbody td{
  height:76px!important;background:#fff!important;border-top:1px solid var(--saas-border)!important;border-bottom:1px solid var(--saas-border)!important;
  border-left:0!important;border-right:0!important;padding:14px 15px!important;color:#242429!important;vertical-align:middle!important;
}
tbody td:first-child{border-left:1px solid var(--saas-border)!important;border-radius:16px 0 0 16px!important}
tbody td:last-child{border-right:1px solid var(--saas-border)!important;border-radius:0 16px 16px 0!important}
tbody td b{font-weight:680!important;letter-spacing:-.015em!important}
.subline,.muted,tbody td small{color:#85858d!important;font-size:12px!important;line-height:1.45!important}
.waybill-status,.status,.badge{border-radius:999px!important;padding:7px 11px!important;font-size:11px!important;font-weight:700!important;border:1px solid transparent!important}
.waybill-status.open,.status.open{background:#e6f7ed!important;color:#147244!important;border-color:#caecd8!important}
.waybill-status.closed,.status.closed{background:#f1f2f4!important;color:#606169!important;border-color:#e7e8ea!important}
.pdf-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 14px!important;text-decoration:none!important}

/* Summary cards */
.stats,.taxichi-stable-vehicle-filters{gap:12px!important;margin:0 0 18px!important}
.stats article,.taxichi-stable-vehicle-filters button,.card,.cabinet-employee-card{
  background:#fff!important;border:1px solid var(--saas-border)!important;border-radius:var(--saas-radius)!important;box-shadow:var(--saas-shadow)!important;
}
.stats article{min-height:108px!important;padding:19px!important}
.stats article small{color:#85858d!important;font-weight:600!important}
.stats article strong{font-size:27px!important;letter-spacing:-.04em!important}
.taxichi-stable-vehicle-filters button{min-height:76px!important;padding:14px 15px!important;text-align:left!important;box-shadow:var(--saas-shadow)!important}
.taxichi-stable-vehicle-filters button:hover{border-color:#dcdce1!important;box-shadow:var(--saas-shadow-hover)!important}
.taxichi-stable-vehicle-filters button.is-active{background:var(--saas-yellow-soft)!important;border-color:#edd97a!important;box-shadow:0 8px 22px rgba(203,161,0,.10)!important}
.taxichi-stable-vehicle-filters button b{font-size:13px!important}
.taxichi-stable-vehicle-filters button small{color:#8b8b93!important;margin-top:4px!important}
.taxichi-stable-vehicle-filters button strong{background:#f3f3f5!important;border-radius:999px!important;min-width:27px!important;height:27px!important;display:grid!important;place-items:center!important;font-size:12px!important}

/* Vehicle document cards */
.vehicle-docs{gap:8px!important}
.vehicle-docs article,.vehicle-docs button,.to-card{
  min-height:108px!important;border-radius:14px!important;border:1px solid var(--saas-border)!important;box-shadow:none!important;padding:12px!important;
}
.to-card{background:#effaf5!important;border-color:#cfeade!important}
.to-card small{color:#168153!important}.to-card b{color:#155f42!important}
.doc-ok{background:#f2faf5!important;border-color:#d9ecdf!important}.doc-warn{background:#fff9e9!important;border-color:#f0dfaa!important}.doc-danger{background:#fff3f3!important;border-color:#efcece!important}.doc-missing{background:#f7f7f8!important;border-color:#e7e7ea!important}

/* Driver balance and actions */
.driver-actions{gap:7px!important}.driver-actions button{min-width:96px!important}
.balance-badge,.driver-balance,.balance-value{border-radius:11px!important;background:#f3f8f5!important;color:#176b49!important;padding:8px 11px!important;font-weight:700!important}

/* Settings */
body[data-admin-page="settings"] .panel,body[data-admin-page="settings"] tbody td{background:transparent!important;border:0!important;box-shadow:none!important}
.settings-card,.schedule-settings,.settings-section,.cabinet-page>section{
  background:#fff!important;border:1px solid var(--saas-border)!important;border-radius:18px!important;box-shadow:var(--saas-shadow)!important;padding:22px!important;margin-bottom:16px!important;
}
input[type="checkbox"]{width:18px!important;height:18px!important;accent-color:var(--saas-yellow)!important}
input[type="checkbox"][role="switch"],.toggle input{width:42px!important;height:23px!important}

/* Cabinet */
.cabinet-page{padding:0!important}
.cabinet-top{margin-bottom:15px!important}
.cabinet-employees{display:grid!important;gap:12px!important}
.cabinet-employee-card{padding:18px 20px!important;min-height:92px!important;box-shadow:var(--saas-shadow)!important}
.cabinet-employee-card:hover{box-shadow:var(--saas-shadow-hover)!important;border-color:#dcdce1!important}
.cabinet-employee-card small{color:#898991!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.045em!important;font-weight:700!important}
.cabinet-employee-card b{font-weight:700!important}.cabinet-employee-card span{color:#777780!important;font-size:12px!important}

/* Forms and dialogs */
dialog{
  border:1px solid var(--saas-border)!important;border-radius:22px!important;background:#fff!important;color:var(--saas-text)!important;
  box-shadow:0 30px 90px rgba(24,24,27,.20)!important;padding:26px!important;
}
dialog::backdrop{background:rgba(21,22,25,.45)!important;backdrop-filter:blur(4px)!important}
dialog h2{font-size:24px!important;letter-spacing:-.03em!important;margin-bottom:7px!important}
dialog h3{font-size:14px!important;margin:24px 0 12px!important}
dialog label{color:#52525a!important;font-size:12px!important;font-weight:650!important;gap:7px!important}
dialog input,dialog select,dialog textarea{
  min-height:47px!important;border:1px solid #e3e3e7!important;border-radius:13px!important;background:#fafafa!important;padding:11px 13px!important;color:#222227!important;
}
dialog textarea{min-height:94px!important}
dialog input:focus,dialog select:focus,dialog textarea:focus{background:#fff!important;border-color:#d9c34e!important;box-shadow:0 0 0 4px rgba(255,204,22,.11)!important;outline:0!important}
.cabinet-employee-dialog{width:min(820px,calc(100vw - 38px))!important;padding:30px!important}
.employee-dialog-head{padding-bottom:21px!important;margin-bottom:22px!important;border-bottom:1px solid #f0f0f2!important}
.employee-dialog-icon{width:50px!important;height:50px!important;border-radius:15px!important;background:var(--saas-yellow-soft)!important;display:grid!important;place-items:center!important}
.employee-form-grid{gap:16px!important}
.cabinet-pages-checks{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.cabinet-pages-checks label{min-height:46px!important;padding:11px 12px!important;border:1px solid #e8e8eb!important;border-radius:12px!important;background:#fbfbfc!important;display:flex!important;align-items:center!important;gap:9px!important}
.cabinet-pages-checks label:has(input:checked){background:var(--saas-yellow-soft)!important;border-color:#ead77d!important;color:#393311!important}
dialog .actions{gap:10px!important;padding-top:22px!important;margin-top:10px!important;border-top:1px solid #f0f0f2!important}

/* Pagination and micro polish */
.table-pagination{margin-top:16px!important;color:#777780!important}
.table-pagination button{min-width:38px!important;height:38px!important;min-height:38px!important;background:#fff!important;border:1px solid var(--saas-border)!important;color:#44444b!important}
.table-pagination button.active{background:var(--saas-yellow-soft)!important;border-color:#e8d36b!important;color:#2c2812!important}
::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d9d9de;border:2px solid transparent;background-clip:padding-box;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#c3c3ca;border:2px solid transparent;background-clip:padding-box}

@media(max-width:1100px){main{padding:26px 24px 40px!important}.cabinet-pages-checks{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){main{padding:20px 14px 34px!important}.cabinet-pages-checks{grid-template-columns:1fr!important}.toolbar{padding:10px!important}tbody td{padding:12px!important}}
