*{box-sizing:border-box}body{margin:0;font-family:Arial,Malgun Gothic,sans-serif;background:#f5f7fb;color:#172033}button,input,select{font:inherit}button{cursor:pointer}.login-page,.company-select-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef3fb,#f8fafc)}.login-card,.company-select-card{background:#fff;border:1px solid #e2e7ef;border-radius:18px;box-shadow:0 20px 60px #18263a14}.login-card{width:410px;padding:38px}.login-logo,.brand-mark{display:grid;place-items:center;background:#2457d6;color:#fff;border-radius:11px}.login-logo{width:54px;height:54px;margin-bottom:18px}.login-card h1{margin:0 0 8px}.login-card p,.page-title p{color:#718096;margin:0 0 25px}.login-card label{display:block;font-size:13px;font-weight:700;margin:16px 0}.login-card input,.form-grid input,.toolbar input,.toolbar select,.group-pick{width:100%;height:40px;border:1px solid #d8dee8;border-radius:7px;padding:0 11px;background:#fff}.login-card label input{display:block;margin-top:7px}.primary,.subtle,.danger,.company-current{border:0;border-radius:7px;min-height:38px;padding:0 14px;display:inline-flex;gap:7px;align-items:center;justify-content:center}.primary{background:#2457d6;color:#fff}.subtle{background:#eef2f7;color:#344054}.danger{background:#ffe7e7;color:#bd2727}.full{width:100%;margin-top:15px}.alert.error{background:#fff0f0;color:#c62828;padding:10px;border-radius:7px;font-size:13px}.company-select-card{width:min(900px,92vw);padding:32px}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title h1,.page-title h2{margin:0 0 7px}.company-select-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.company-card{background:#fff;border:1px solid #dce3ee;border-radius:12px;text-align:left;padding:20px;display:grid;gap:8px;color:#172033}.company-card:hover{border-color:#2457d6;box-shadow:0 8px 24px #2457d61a}.company-card span{font-size:12px;color:#2457d6}.company-card small{color:#718096}.app-shell{display:flex;min-height:100vh}.sidebar{width:245px;background:#172238;color:#d9e1ef;display:flex;flex-direction:column;padding:18px 12px;transition:.2s}.sidebar.collapsed{width:68px}.brand{display:flex;align-items:center;gap:10px;padding:5px 8px 25px}.brand-mark{width:36px;height:36px;flex:none}.brand strong{display:block;color:#fff}.brand small{display:block;color:#8290a8;font-size:10px;margin-top:2px}.nav-caption{font-size:10px;letter-spacing:1px;color:#697890;padding:14px 10px 7px}.nav-item{border:0;background:transparent;color:#b8c3d5;border-radius:7px;min-height:40px;width:100%;display:flex;align-items:center;gap:11px;padding:0 10px;text-align:left;margin:2px 0}.nav-item:hover,.nav-item.active{background:#263657;color:#fff}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:8px;padding:12px 6px;border-top:1px solid #2b3850}.avatar{width:32px;height:32px;border-radius:50%;background:#37558f;display:grid;place-items:center;color:#fff}.user-mini{flex:1;min-width:0}.user-mini strong,.user-mini small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mini small{font-size:10px;color:#8491a6}.icon-btn{border:0;background:#eef2f7;color:#344054;border-radius:7px;width:36px;height:36px;display:grid;place-items:center}.icon-btn.light{background:transparent;color:#b8c3d5}.main{flex:1;min-width:0}.topbar{height:64px;background:#fff;border-bottom:1px solid #e4e8ef;display:flex;align-items:center;gap:16px;padding:0 22px}.breadcrumb{font-size:14px;flex:1}.breadcrumb span{color:#a5afbe;margin:0 8px}.company-current{background:#f0f4ff;color:#2457d6}.content{padding:24px}.panel{background:#fff;border:1px solid #e1e6ee;border-radius:12px;padding:20px;box-shadow:0 4px 16px #18263a08}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.dashboard-grid button{border:1px solid #e0e6ef;background:#fff;border-radius:12px;padding:24px;text-align:left;display:grid;gap:9px;color:#172033}.dashboard-grid button:hover{border-color:#2457d6}.dashboard-grid span{font-size:12px;color:#718096}.editor-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.editor-title h2{margin:0}.editor-title p{margin:5px 0 0;color:#718096}.form-grid{display:grid;grid-template-columns:150px minmax(220px,1fr) 150px minmax(220px,1fr);border-top:1px solid #e3e7ee}.grid-label{background:#f7f9fc;border-bottom:1px solid #e3e7ee;padding:11px 12px;font-size:13px;font-weight:700}.grid-input{padding:5px;border-bottom:1px solid #e3e7ee}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:15px}.toolbar input{width:250px}.toolbar select{width:130px}.tabs{display:flex;gap:2px;border-bottom:1px solid #dfe4ec;margin-bottom:18px}.tabs button{border:0;background:#f4f6f9;padding:11px 15px;color:#667085}.tabs button.active{background:#2457d6;color:#fff}.table-wrap{overflow:auto;border:1px solid #e0e5ed;border-radius:8px}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th,td{padding:10px 11px;border-bottom:1px solid #edf0f4;text-align:left}th{background:#f7f9fc;font-weight:700;color:#4b5565}tr.clickable:hover{background:#f3f6ff}.empty{text-align:center;padding:35px;color:#8792a3}.detail-card{margin-top:20px;border-top:1px solid #e0e5ed;padding-top:20px}.placeholder{min-height:350px;display:grid;place-items:center;text-align:center;color:#718096}.placeholder h3{margin:0;color:#172033}.placeholder p{max-width:600px}.company-layout{display:block}@media(max-width:900px){.company-select-grid,.dashboard-grid{grid-template-columns:1fr 1fr}.sidebar{width:68px}.sidebar:not(.collapsed){width:200px}.form-grid{grid-template-columns:120px 1fr}.content{padding:14px}}@media print{.sidebar,.topbar,.toolbar,.page-title button{display:none!important}.content{padding:0}.panel{border:0;box-shadow:none}}.owner-workspace{display:grid;grid-template-columns:minmax(420px,46%) minmax(520px,1fr);gap:18px;min-height:560px}.owner-list-pane,.owner-detail-pane{min-width:0}.owner-list-pane{border-right:1px solid #e3e7ee;padding-right:18px}.owner-list-toolbar{flex-wrap:wrap}.owner-list-toolbar input{flex:1;min-width:180px;width:auto}.owner-tabs{margin-bottom:18px}.owner-detail-pane .table-wrap{max-height:430px}.group-select-row{margin-bottom:16px}.group-select-row label{display:flex;align-items:center;gap:12px;font-weight:700;font-size:13px}.group-select-row .group-pick{max-width:420px}@media(max-width:1100px){.owner-workspace{grid-template-columns:1fr}.owner-list-pane{border-right:0;border-bottom:1px solid #e3e7ee;padding:0 0 18px}.owner-detail-pane{padding-top:2px}}.setup-link{margin-top:10px}.top-actions{display:flex;gap:8px;align-items:center}.bootstrap-box{display:grid;gap:10px}.bootstrap-box h3{margin:0}.bootstrap-box p{margin:0 0 8px;color:#718096;font-size:13px}.bootstrap-box label{display:block;font-size:13px;font-weight:700}.bootstrap-box label input{display:block;margin-top:6px}.setup-wizard{width:min(1100px,94vw)}.setup-steps{display:flex;gap:8px;margin:0 0 18px}.setup-steps b{padding:10px 14px;border-radius:7px;background:#eef2f7;color:#667085}.setup-steps b.active{background:#2457d6;color:#fff}.setup-form,.compact-form{margin-top:12px}.panel-inner{border:1px solid #e0e5ed;border-radius:9px;padding:16px;margin-bottom:18px}.panel-inner h3{margin:0 0 12px}.alert.success{background:#eef9f1;color:#20743a;padding:10px;border-radius:7px;font-size:13px}.grid-input select[multiple]{height:120px;padding:8px}.owner-workspace,.vehicle-workspace{display:grid;grid-template-columns:minmax(320px,38%) minmax(520px,1fr);gap:18px;min-height:600px}.owner-list-pane,.vehicle-list-pane{min-width:0;border-right:1px solid #e3e7ee;padding-right:18px}.owner-detail-pane,.vehicle-detail-pane{min-width:0}.owner-list-toolbar,.vehicle-list-toolbar{flex-wrap:wrap}.owner-list-toolbar input,.vehicle-list-toolbar input{flex:1;min-width:160px;width:auto}.selected-row{background:#e7efff!important;font-weight:700}.selected-row td:first-child{color:#2457d6}.vehicle-detail-pane .form-grid{margin-bottom:20px}.vehicle-detail-pane h4{margin:20px 0 10px}.vehicle-detail-pane table input,.vehicle-detail-pane table select{min-width:100px;width:100%;height:34px}@media(max-width:1100px){.owner-workspace,.vehicle-workspace{grid-template-columns:1fr}.owner-list-pane,.vehicle-list-pane{border-right:0;border-bottom:1px solid #e3e7ee;padding:0 0 18px}.owner-detail-pane,.vehicle-detail-pane{padding-top:2px}}.date-field{position:relative;display:flex;width:100%;align-items:center}.date-field>input[type=text]{flex:1;min-width:0}.date-picker-button{width:34px;min-width:34px;height:32px;margin-left:4px;padding:0;display:inline-flex;align-items:center;justify-content:center}.native-picker{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;left:0;bottom:0}.link-button{border:0;background:transparent;padding:0;margin:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.link-button:hover{font-weight:600}.editor-card{margin:12px 0 16px;padding:16px;border:1px solid #d9dee7;border-radius:8px;background:#fafbfc}.editor-card h4{margin:0 0 12px}.table-link{border:0;background:transparent;color:#2457d6;text-decoration:underline;padding:0;font-weight:700}.toolbar>span{white-space:nowrap;color:#4b5565;font-size:13px}.due-summary{display:flex;gap:12px;margin:16px 0}.due-summary>div{flex:1;border:1px solid #e1e5ec;border-radius:10px;padding:14px 16px;background:#fff;display:flex;justify-content:space-between;align-items:center}.due-summary strong{font-size:20px}.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:14px;margin:10px 0 8px}.calendar-toolbar strong{font-size:20px;min-width:150px;text-align:center}.calendar-filter,.detail-filter{display:flex;gap:4px}.calendar-filter{justify-content:flex-end;margin-bottom:8px}.calendar-filter button,.detail-filter button{border:1px solid #d9dee7;background:#fff;padding:6px 12px;border-radius:6px}.calendar-filter button.active,.detail-filter button.active{background:#edf3ff;color:#2457d6;border-color:#9eb8ee;font-weight:700}.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #dfe4ec;border-left:1px solid #dfe4ec}.calendar-weekday{text-align:center;font-weight:700;padding:9px;background:#f6f7f9;border-right:1px solid #dfe4ec;border-bottom:1px solid #dfe4ec}.calendar-day{min-height:88px;background:#fff;border:0;border-right:1px solid #dfe4ec;border-bottom:1px solid #dfe4ec;padding:8px;text-align:left;display:flex;flex-direction:column;gap:5px;cursor:pointer}.calendar-day:hover{background:#f8faff}.calendar-day.selected{background:#eef4ff;box-shadow:inset 0 0 0 2px #6c8fd8}.calendar-day.blank{background:#fafbfc;cursor:default}.day-number{font-weight:700}.day-count{font-size:12px;border-radius:5px;padding:3px 5px;font-weight:600}.day-count.insurance{background:#edf3ff;color:#2457d6}.day-count.inspection{background:#edf8f0;color:#287542}.detail-header{display:flex;align-items:center;gap:10px;margin:18px 0 8px}.detail-header h3{margin:0}.detail-header .detail-filter{margin-left:auto}.insurance-history-box{margin:8px 0 18px;padding:12px;border:1px solid #e1e5ec;border-radius:8px;background:#fafbfc}.insurance-history-box h4{margin:0 0 8px}.insurance-history-box table{width:100%;border-collapse:collapse}.insurance-history-box th,.insurance-history-box td{border-bottom:1px solid #e5e8ee;padding:7px;text-align:left;font-size:13px}.panel,.vehicle-page,.vehicle-workspace,.vehicle-detail-pane{min-width:0;box-sizing:border-box}.search-toolbar{display:grid;grid-template-columns:minmax(110px,1fr) minmax(130px,1.2fr) minmax(120px,1fr) minmax(135px,1fr) auto minmax(135px,1fr) minmax(130px,1fr) auto auto;gap:8px;align-items:center}.search-toolbar>*{min-width:0;box-sizing:border-box}.search-toolbar input,.search-toolbar select{width:100%;min-width:0}@media(max-width:1200px){.search-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.search-toolbar .primary,.search-toolbar .subtle{width:100%}}@media(max-width:760px){.search-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.search-toolbar>span{justify-self:center}.due-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.due-summary>div{min-width:0}.month-calendar{width:100%;min-width:0}.calendar-day{min-height:82px;padding:6px}.day-count{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.due-calendar-page{overflow:hidden}.calendar-toolbar{border:1px solid #e1e6ef;border-radius:12px;background:#fff;padding:10px;box-shadow:0 2px 8px #14233c0d}.calendar-toolbar button{min-width:36px;height:34px;border-radius:8px}.calendar-toolbar strong{font-size:19px;letter-spacing:-.02em}.calendar-filter{margin:10px 0;justify-content:flex-start}.month-calendar{overflow:hidden;border:1px solid #dfe5ee;border-radius:12px;background:#fff;box-shadow:0 2px 10px #14233c0a}.calendar-weekday{padding:10px 6px;background:#f7f9fc;color:#526071;font-size:12px;border-right:1px solid #e7ebf1;border-bottom:1px solid #e7ebf1}.calendar-day{min-width:0;min-height:96px;padding:8px;border-right:1px solid #e7ebf1;border-bottom:1px solid #e7ebf1;overflow:hidden}.calendar-day:nth-child(7n){border-right:0}.calendar-day.blank{background:#fbfcfe}.calendar-day.selected{background:#f1f6ff;box-shadow:inset 0 0 0 2px #5b83d6}.day-number{font-size:14px;color:#263445;margin-bottom:2px}.day-count{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-link{border:0;background:transparent;color:#2457d6;text-decoration:underline;padding:0;font-weight:700;cursor:pointer}.table-link:hover{color:#173ea0}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.2}.status-badge.normal{background:#e9f7ee;color:#19713a}.status-badge.warning{background:#fff5d9;color:#9a6500}.status-badge.expired{background:#fde9e9;color:#b42318}.status-badge.missing{background:#eef1f5;color:#667085}.pagination{display:flex;justify-content:center;align-items:center;gap:5px;margin:14px 0 4px}.pagination button{min-width:32px;height:32px;padding:0 8px;border:1px solid #d9dee7;border-radius:7px;background:#fff;color:#344054;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.pagination button:hover:not(:disabled){background:#f5f8fc;border-color:#b8c3d4}.pagination button.active{background:#2457d6;border-color:#2457d6;color:#fff;font-weight:700}.pagination button:disabled{opacity:.38;cursor:default}.month-calendar{grid-auto-rows:64px}.calendar-day{min-height:0;height:64px;padding:5px;gap:2px}.calendar-weekday{padding:7px 6px}.day-number{font-size:13px;margin-bottom:0}.day-count{font-size:11px;padding:2px 4px}@media(max-width:760px){.month-calendar{grid-auto-rows:58px}.calendar-day{height:58px;padding:4px}.calendar-weekday{padding:6px 3px}.pagination{gap:3px}.pagination button{min-width:30px;height:30px}}.dashboard-page{min-width:0}.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.dashboard-head h1{margin:0 0 6px;font-size:25px;letter-spacing:-.03em}.dashboard-head p{margin:0;color:#718096;font-size:13px}.dashboard-alert{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#eef4ff,#f8fbff);border:1px solid #d7e4fb;border-radius:14px;padding:14px 16px;margin-bottom:14px}.dashboard-alert-icon{width:38px;height:38px;border-radius:10px;background:#2457d6;color:#fff;display:grid;place-items:center}.dashboard-alert strong,.dashboard-alert span{display:block}.dashboard-alert strong{font-size:14px}.dashboard-alert span{margin-top:3px;color:#64748b;font-size:12px}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.dash-kpi{border:1px solid #e0e6ef;background:#fff;border-radius:12px;padding:15px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;text-align:left}.dash-kpi span{font-size:12px;color:#667085}.dash-kpi strong{font-size:23px}.dash-kpi strong small{font-size:11px;margin-left:2px;font-weight:500}.dash-kpi.danger{border-left:4px solid #d92d20}.dash-kpi.today{border-left:4px solid #2457d6}.dash-kpi.warning{border-left:4px solid #d9a400}.dash-kpi.done{border-left:4px solid #2e8b57}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);gap:16px;margin-bottom:16px}.dashboard-columns.lower{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-card{background:#fff;border:1px solid #e1e6ee;border-radius:13px;padding:18px;box-shadow:0 4px 16px #18263a08;min-width:0}.dash-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.dash-card-head h3{margin:0 0 4px;font-size:15px}.dash-card-head p{margin:0;color:#8a94a5;font-size:11px}.text-link{border:0;background:transparent;color:#2457d6;font-size:12px;display:inline-flex;gap:4px;align-items:center;padding:4px}.task-list{display:grid;gap:1px}.task-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #edf0f4}.task-row:first-child{border-top:0}.task-priority{width:4px;height:34px;border-radius:4px;background:#94a3b8}.task-priority.high{background:#d92d20}.task-priority.today{background:#2457d6}.task-main{flex:1;min-width:0}.task-main strong,.task-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-main strong{font-size:13px}.task-main span{font-size:11px;color:#8a94a5;margin-top:3px}.mini-primary,.mini-subtle,.mini-success{border:0;border-radius:6px;padding:6px 9px;font-size:11px;white-space:nowrap}.mini-primary{background:#eef3ff;color:#2457d6}.mini-subtle{background:#eef2f7;color:#475467}.mini-success{background:#eaf8ef;color:#217346}.dash-empty{min-height:120px;display:grid;place-items:center;text-align:center;color:#98a2b3;font-size:12px}.dash-empty.success{gap:4px;color:#4b8b63}.dash-empty.success strong,.dash-empty.success span{display:block}.master-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.master-stats button{border:1px solid #e7ebf1;background:#fafbfc;border-radius:10px;padding:13px;text-align:left;display:grid;gap:6px}.master-stats button:hover{border-color:#b9c9e8;background:#f7faff}.master-stats span{font-size:11px;color:#667085}.master-stats strong{font-size:24px}.master-stats small{font-size:11px;margin-left:2px}.master-stats em{font-size:10px;color:#2457d6;font-style:normal}.master-substats{display:flex;gap:10px;margin-top:10px}.master-substats span{flex:1;background:#f7f8fa;border-radius:7px;padding:8px 10px;font-size:11px;color:#667085}.master-substats b{float:right;color:#344054}.upcoming-list,.recent-list{display:grid}.upcoming-list button,.recent-list button{border:0;border-top:1px solid #edf0f4;background:#fff;text-align:left;padding:9px 0;display:flex;align-items:center;gap:10px}.upcoming-list button:first-child,.recent-list button:first-child{border-top:0}.upcoming-list button:hover,.recent-list button:hover{background:#fbfcfe}.upcoming-list span{font-size:11px;color:#667085;width:75px}.upcoming-list b{font-size:12px;flex:1}.upcoming-list em{font-size:10px;font-style:normal;color:#2457d6}.recent-list span{font-size:11px;color:#98a2b3;width:42px}.recent-list div{min-width:0}.recent-list b,.recent-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-list b{font-size:12px}.recent-list small{font-size:10px;color:#98a2b3;margin-top:2px}.quick-work{margin-bottom:0}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.quick-actions button{border:1px solid #e2e7ef;background:#fafbfc;border-radius:9px;padding:12px;display:flex;align-items:center;gap:8px;color:#344054;font-size:12px}.quick-actions button:hover{border-color:#b9c9e8;background:#f6f9ff;color:#2457d6}.task-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:14px}.task-toolbar input{height:40px;min-width:260px;border:1px solid #d8dee8;border-radius:7px;padding:0 11px}.task-toolbar select{height:40px;border:1px solid #d8dee8;border-radius:7px;padding:0 11px;background:#fff}.task-status{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700}.task-status.open{background:#fff5d9;color:#9a6500}.task-status.progress{background:#eef3ff;color:#2457d6}.task-status.done{background:#e9f7ee;color:#19713a}.task-actions{display:flex;justify-content:center;align-items:center;gap:6px;margin:12px 0}.task-actions span{font-size:12px;color:#667085;margin:0 4px}.task-bulk-actions{border-top:1px solid #e5e8ee;margin-top:14px;padding-top:8px;display:grid;gap:6px}.task-bulk-actions>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0}.task-bulk-actions>div>span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-bulk-actions>div>div{display:flex;gap:5px}.audit-detail{margin-top:18px;border-top:1px solid #e5e8ee;padding-top:16px}.audit-meta{display:flex;justify-content:space-between;gap:10px;background:#f8fafc;border:1px solid #e5e9ef;border-radius:8px;padding:11px 13px;margin-bottom:10px}.audit-meta span{font-size:11px;color:#667085}@media(max-width:1100px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns,.dashboard-columns.lower{grid-template-columns:1fr}}@media(max-width:700px){.dashboard-head{align-items:flex-start;flex-direction:column}.dashboard-kpis,.quick-actions{grid-template-columns:1fr 1fr}.task-toolbar{flex-wrap:wrap}.task-toolbar input{min-width:0;flex:1}.master-stats{grid-template-columns:1fr}.audit-meta{flex-direction:column}}.task-inline-actions{display:flex;gap:4px}.task-inline-actions button{padding:4px 7px;font-size:10px}
