@import "https://api.fontshare.com/v2/css?f[]=satoshi@400,500,700&display=swap";html,body,#root{width:100%;min-height:100vh;margin:0}body{min-width:320px}:root{--bg:#f5f8f1;--panel:#fff;--panel-soft:#f8fbf4;--line:#d8e3d1;--line-soft:#e7efe1;--text:#132014;--muted:#66785f;--brand:#109b42;--brand-dark:#0c7c35;--brand-soft:#109b421f;--lime:#a7cc36;--lime-soft:#a7cc3629;--brown:#7a2414;--green:#15803d;--green-soft:#e8f7ee;--orange:#b45309;--orange-soft:#fff3e6;--red:#dc2626;--red-soft:#fee2e2;--shadow-sm:0 2px 8px #1320140d;--shadow-md:0 10px 30px #13201417;--radius-lg:18px;--radius-md:14px;--radius-sm:10px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Satoshi,sans-serif}button,input,select,textarea{font:inherit}.app-loading{min-height:100vh;color:var(--text);background:var(--bg);place-items:center;display:grid}.auth-shell{background:linear-gradient(#f9fcf5 0%,#f1f6eb 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line-soft);width:100%;max-width:460px;box-shadow:var(--shadow-md);border-radius:24px;padding:32px}.auth-brand{gap:16px;margin-bottom:28px;display:grid}.auth-logo{object-fit:contain;width:220px;max-width:100%;height:auto;display:block}.auth-brand h1,.auth-copy h2,.topbar h1,.section-head h2,.tool-card h3{margin:0}.auth-brand p,.auth-copy p,.topbar p,.section-head p,.helper-text,.empty-text{color:var(--muted);margin:0}.auth-copy{margin-bottom:20px}.auth-form{gap:16px;display:grid}.auth-form label{color:var(--text);gap:8px;font-weight:500;display:grid}.auth-form input,.tool-form input,.filter-search-input,.filter-control{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-height:52px;color:var(--text);border-radius:16px;padding:0 16px;transition:all .2s}.auth-form input:focus,.tool-form input:focus,.filter-search-input:focus,.filter-control:focus{box-shadow:0 0 0 4px var(--brand-soft);background:#fff;border-color:#8fd19d;outline:none}.auth-switch{width:100%;min-height:48px;color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:14px;margin-top:14px;font-weight:600}.auth-message{color:var(--brand-dark);background:#eef9f0;border:1px solid #cfe8d3;border-radius:14px;margin-top:16px;padding:12px 14px}.auth-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:linear-gradient(#102315 0%,#17311c 100%);flex-direction:column;gap:24px;padding:24px 18px;display:flex}.sidebar-brand{align-items:center;gap:14px;display:flex}.sidebar-logo{object-fit:contain;background:#ffffff0f;border-radius:14px;flex-shrink:0;width:52px;height:52px;padding:4px}.sidebar-brand strong{letter-spacing:.01em;font-size:15px;display:block}.sidebar-brand span{color:#b8c8b0;margin-top:4px;font-size:13px;display:block}.sidebar-nav{gap:4px;display:grid}.nav-item{color:#d7e4d2;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;width:100%;min-height:46px;padding:0 14px;font-size:14px;transition:all .2s}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;box-shadow:inset 3px 0 0 var(--lime);background:#a7cc3633;font-weight:600}.nav-group{gap:2px;display:grid}.nav-group-row{grid-template-columns:1fr auto;align-items:center;gap:0;display:grid}.nav-group-btn{color:#d7e4d2;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px 0 0 14px;width:100%;min-height:46px;padding:0 14px;font-size:14px;transition:all .2s}.nav-group-btn:hover{color:#fff;background:#ffffff0f}.nav-group-btn.active{color:#fff;box-shadow:inset 3px 0 0 var(--lime);background:#a7cc3633;font-weight:600}.nav-caret-btn{color:#9bb395;cursor:pointer;background:0 0;border:0;border-radius:0 14px 14px 0;flex-shrink:0;justify-content:center;align-items:center;width:36px;min-height:46px;transition:all .2s;display:flex}.nav-caret-btn:hover{color:#fff;background:#ffffff0f}.nav-caret{font-size:12px;line-height:1;transition:transform .25s;display:inline-block}.nav-caret.open{transform:rotate(180deg)}.nav-submenu{gap:2px;padding-left:16px;transition:max-height .3s;display:grid;overflow:hidden}.nav-submenu .nav-item{border-radius:12px;min-height:40px;padding:0 14px;font-size:13px}.profile-dropdown{position:relative}.profile-trigger{border:1px solid var(--line);min-height:48px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);white-space:nowrap;background:#fff;border-radius:16px;align-items:center;gap:10px;padding:0 14px;transition:all .2s;display:flex}.profile-trigger:hover{background:#fbfdf8;border-color:#bfd4b7}.profile-trigger:focus-visible{box-shadow:0 0 0 4px var(--brand-soft);outline:none}.profile-trigger-info{text-align:left;line-height:1.3;display:grid}.profile-trigger-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:14px;font-weight:600;overflow:hidden}.profile-trigger-role{color:var(--muted);font-size:12px;font-weight:600}.profile-trigger-caret{color:var(--muted);flex-shrink:0;font-size:12px;transition:transform .25s}.profile-trigger-caret.open{transform:rotate(180deg)}.profile-dropdown-menu{border:1px solid var(--line);min-width:200px;box-shadow:var(--shadow-md);z-index:100;background:#fff;border-radius:16px;gap:2px;padding:6px;animation:.15s dropdownFadeIn;display:grid;position:absolute;top:calc(100% + 6px);right:0}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-item{width:100%;min-height:42px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:0 14px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.profile-dropdown-item:hover{background:var(--brand-soft);color:var(--brand-dark)}.profile-dropdown-item:focus-visible{box-shadow:0 0 0 3px var(--brand-soft);outline:none}.profile-dropdown-item--danger{color:var(--red)}.profile-dropdown-item--danger:hover{background:var(--red-soft);color:var(--red)}.profile-dropdown-divider{background:var(--line-soft);height:1px;margin:4px 0}.main-panel{flex-direction:column;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);background:#ffffffd1;justify-content:space-between;align-items:center;gap:18px;padding:24px 28px;display:flex}.topbar-actions{align-items:center;gap:14px;display:flex}.user-chip{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:10px 14px;display:grid}.user-chip small{color:var(--muted)}.content-area{gap:22px;padding:28px;display:grid}.panel{background:var(--panel);border:1px solid var(--line-soft);box-shadow:var(--shadow-sm);border-radius:24px;padding:22px}.section-head{justify-content:space-between;align-items:start;gap:14px;margin-bottom:18px;display:flex}.stats-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;display:grid}.stat-card{border:1px solid var(--line-soft);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;padding:20px}.stat-card span{color:var(--muted);margin-bottom:10px;font-size:14px;display:block}.stat-card strong{color:var(--text);font-size:28px}.filter-bar{gap:14px;display:grid}.filter-bar-search{justify-content:center;display:flex}.filter-search-input{max-width:760px;box-shadow:var(--shadow-sm);padding:0 18px;font-size:15px}.filter-bar-row{grid-template-columns:1.2fr 1fr 1fr 1fr;align-items:center;gap:14px;display:grid}.filter-control{box-shadow:var(--shadow-sm);font-size:15px;font-weight:500}.filter-check,.filter-summary-chip{border:1px solid var(--line);background:var(--panel-soft);min-height:52px;box-shadow:var(--shadow-sm);color:var(--text);border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-weight:600;display:flex}.filter-check input{width:18px;height:18px;accent-color:var(--brand)}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.tool-card{border:1px solid var(--line-soft);box-shadow:var(--shadow-sm);background:linear-gradient(#fff 0%,#fbfdf8 100%);border-radius:20px;gap:14px;padding:18px;display:grid}.tool-card-top{justify-content:space-between;align-items:start;gap:12px;display:flex}.tool-meta-list{gap:8px;display:grid}.tool-meta-list p,.tool-card p{color:var(--muted);margin:0;line-height:1.45}.tool-meta-list strong,.tool-card strong{color:var(--text)}.badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.badge.success{background:var(--green-soft);color:var(--green)}.badge.warning{background:var(--orange-soft);color:var(--orange)}.badge.neutral{color:#48613c;background:#edf3e8}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line-soft);padding:0 0 12px;font-size:13px;font-weight:700}tbody td{border-bottom:1px solid var(--line-soft);color:var(--text);padding:14px 0}.tool-form{grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;display:grid}.button-row{flex-wrap:wrap;gap:10px;display:flex}.btn{cursor:pointer;border:0;border-radius:14px;min-height:48px;padding:0 16px;font-weight:600;transition:all .2s}.btn-primary{background:linear-gradient(135deg, var(--brand), var(--brand-dark));color:#fff}.btn-primary:hover{filter:brightness(1.03)}.btn-secondary{color:var(--text);border:1px solid var(--line);background:#fff}.btn-secondary:hover{background:#fbfdf8;border-color:#bfd4b7}.btn:disabled{opacity:.7;cursor:not-allowed}.danger-button{background:var(--red-soft);color:var(--red)}.helper-text{margin-top:12px}.helper-inline{min-height:40px;color:var(--muted);align-items:center;font-size:14px;font-weight:600;display:inline-flex}.empty-text{padding:12px 0 4px}.dashboard-shell{gap:18px;display:grid}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:14px;padding:8px 2px;display:flex}.dashboard-header h2{margin:0;font-size:22px}.dashboard-role-label{color:var(--muted);margin-top:6px;font-size:14px;font-weight:700}.dashboard-grid{grid-template-columns:1fr 1fr 1fr 1fr;align-items:start;gap:16px;display:grid}.dashboard-col:first-child{grid-column:1}.dashboard-col:nth-child(2){grid-column:2}.dashboard-col:nth-child(3){grid-column:3}.dashboard-col:nth-child(4){grid-column:4}.dashboard-col.wide{grid-column:1/-1}.dashboard-col{min-width:0}.panel-card{background:var(--panel);border:1px solid var(--line-soft);box-shadow:var(--shadow-sm);border-radius:22px;padding:18px}.panel-card-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.panel-card-head h3{margin:0;font-size:16px}.muted{color:var(--muted)}.dashboard-lists{gap:14px;display:grid}.dashboard-list-title{color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:800}.dashboard-item-list{gap:10px;display:grid}.dashboard-item{border:1px solid var(--line-soft);background:var(--panel-soft);border-radius:16px;padding:10px 12px}.dashboard-item-main{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.dashboard-item-sub{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.35}.dashboard-item-meta{color:var(--muted);margin:8px 0 0;font-size:12px}.dashboard-empty{padding-top:6px}.dashboard-item-list.compact{gap:8px}.dashboard-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-row-main{flex-direction:column;gap:6px;display:flex}.dashboard-row-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dashboard-compact-list{gap:10px;display:grid}.compact-row{border:1px solid var(--line-soft);background:var(--panel-soft);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.compact-row-main{flex-direction:column;gap:6px;min-width:0;display:flex}.compact-sub{color:var(--muted);font-size:13px}.compact-meta{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.dot{color:#9fb39a}@media (width<=900px){.dashboard-grid{grid-template-columns:1fr}.dashboard-col.wide{grid-column:auto}}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.filter-bar-row{grid-template-columns:repeat(2,minmax(220px,1fr))}.tool-form{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{padding:18px}.sidebar-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar{flex-direction:column;align-items:flex-start;padding:20px}.content-area{padding:20px}}@media (width<=700px){.auth-actions,.stats-grid,.filter-bar-row,.tool-form,.sidebar-nav,.tool-grid{grid-template-columns:1fr}.panel{border-radius:20px;padding:18px}.auth-card{padding:24px}.auth-logo{width:180px}}.quick-actions-panel{padding:22px}.quick-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.quick-action-card{text-align:left;border:1px solid var(--line-soft);width:100%;box-shadow:var(--shadow-sm);cursor:pointer;background:linear-gradient(#fff 0%,#fbfdf8 100%);border-radius:20px;align-content:start;gap:10px;min-height:120px;padding:14px;transition:all .2s;display:grid}.quick-action-card:hover{border-color:#bfd4b7;transform:translateY(-1px)}.quick-action-card:focus{box-shadow:0 0 0 4px var(--brand-soft), var(--shadow-sm);outline:none}.quick-action-card--disabled{opacity:.6;cursor:not-allowed;background:var(--panel-soft)}.quick-action-card--disabled:hover{transform:none}.quick-action-icon{font-size:22px;line-height:1}.quick-action-title{color:var(--text);font-size:14px;font-weight:800}.quick-action-desc{color:var(--muted);font-size:12.5px;font-weight:600;line-height:1.35}@media (width<=900px){.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=540px){.quick-actions-grid{grid-template-columns:1fr}}.tool-form textarea,.tool-form select{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-height:52px;color:var(--text);border-radius:16px;padding:0 16px;transition:all .2s}.tool-form textarea{resize:vertical;min-height:120px;padding:14px 16px}.tool-form textarea:focus,.tool-form select:focus{box-shadow:0 0 0 4px var(--brand-soft);background:#fff;border-color:#8fd19d;outline:none}.asset-image{object-fit:cover;border:1px solid var(--line-soft);background:#f3f6ef;border-radius:16px;width:100%;height:180px}.asset-upload-inline{color:var(--muted);gap:8px;font-size:14px;font-weight:600;display:grid}.asset-upload-inline input[type=file]{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-height:48px;color:var(--text);border-radius:14px;padding:10px 12px}.weather-card{min-height:100%}.weather-location{color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:600}.weather-loading,.weather-error{min-height:132px;color:var(--muted);justify-content:center;align-items:center;gap:12px;display:flex}.weather-loading p,.weather-error p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.4}.weather-loading-icon{font-size:30px}.weather-error{justify-content:flex-start;align-items:flex-start;padding:10px 0 2px}.weather-error>span{font-size:26px}.weather-error strong{color:var(--text)}.weather-current{align-items:center;gap:12px;min-height:74px;display:flex}.weather-icon{font-size:42px;line-height:1}.weather-temperature{align-items:flex-start;line-height:1;display:flex}.weather-temperature strong{color:var(--text);letter-spacing:-.06em;font-size:42px}.weather-temperature span{color:var(--muted);margin:3px 0 0 5px;font-size:15px;font-weight:800}.weather-condition{gap:4px;min-width:0;display:grid}.weather-condition strong{color:var(--text);font-size:14px}.weather-condition span{color:var(--muted);font-size:12px;font-weight:600}.weather-details{border-top:1px solid var(--line-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;padding-top:12px;display:grid}.weather-details div{gap:4px;min-width:0;display:grid}.weather-details span{color:var(--muted);font-size:11px;font-weight:700}.weather-details strong{color:var(--text);white-space:nowrap;font-size:12px}.weather-updated{color:var(--muted);margin:12px 0 0;font-size:11px;font-weight:600}@media (width<=540px){.weather-details{grid-template-columns:1fr}.weather-current{flex-wrap:wrap}}.inspection-card{gap:14px;display:grid}.inspection-card h3{margin:0}.inspection-card p{color:var(--muted);margin:0}.inspection-reference-doc{border:2px dashed var(--line);border-radius:var(--radius-md);background:var(--panel-soft);color:var(--muted);align-items:center;gap:10px;padding:16px;font-size:14px;font-weight:600;display:flex}.inspection-reference-icon{font-size:24px}.inspection-form-row{margin-bottom:16px}.inspection-form-row label{color:var(--text);gap:8px;font-weight:500;display:grid}.inspection-form-row label span{font-size:14px;font-weight:600}.inspection-form-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.inspection-form-grid label{color:var(--text);gap:8px;font-weight:500;display:grid}.inspection-form-grid label span{font-size:14px;font-weight:600}.vehicle-info-card{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--brand-soft);margin-bottom:16px;padding:14px}.vehicle-info-grid{grid-template-columns:1fr 1fr;gap:8px 16px;font-size:14px;display:grid}.certification-row{margin-bottom:16px}.certification-label{cursor:pointer;align-items:center;gap:10px;font-weight:500;display:flex}.certification-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand);flex-shrink:0}.signature-preview{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--panel-soft);color:var(--muted);margin-top:8px;padding:10px 14px;font-size:14px}.checklist-section{margin-bottom:16px}.checklist-section h3{margin:0;font-size:18px}.checklist-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.checklist-item{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--panel-soft);margin-bottom:10px;padding:14px}.checklist-item-header{margin-bottom:10px}.checklist-item-name{color:var(--text);font-size:14px;font-weight:700}.checklist-buttons{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.checklist-btn{border:2px solid var(--line);border-radius:var(--radius-sm);min-height:44px;color:var(--text);cursor:pointer;text-align:center;background:#fff;padding:0 8px;font-size:13px;font-weight:600;transition:all .15s}.checklist-btn:hover{background:#fbfdf8;border-color:#bfd4b7}.checklist-btn.selected.pass{border-color:var(--green);background:var(--green-soft);color:var(--green)}.checklist-btn.selected.minor{border-color:var(--orange);background:var(--orange-soft);color:var(--orange)}.checklist-btn.selected.major{border-color:var(--red);background:var(--red-soft);color:var(--red)}.checklist-btn.selected.na{border-color:var(--muted);color:#48613c;background:#edf3e8}.checklist-notes{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-height:80px;color:var(--text);resize:vertical;background:#fff;margin-top:10px;padding:12px;font-family:inherit;font-size:14px}.checklist-notes:focus{box-shadow:0 0 0 4px var(--brand-soft);border-color:#8fd19d;outline:none}.checklist-na-reason{min-height:44px;margin-top:8px}.defect-alert{border-radius:var(--radius-md);margin-bottom:16px;padding:14px 16px;font-size:14px;font-weight:600;line-height:1.4}.defect-alert.minor{background:var(--orange-soft);border:1px solid var(--orange);color:var(--orange)}.defect-alert.major{background:var(--red-soft);border:1px solid var(--red);color:var(--red)}.inspection-submit-row{margin-top:16px}.inspection-submit-row .btn{width:100%;min-height:52px;font-size:16px}.badge.danger{background:var(--red-soft);color:var(--red)}@media (width<=700px){.inspection-form-grid,.vehicle-info-grid{grid-template-columns:1fr}.checklist-buttons{grid-template-columns:repeat(2,1fr)}.checklist-btn{min-height:40px;font-size:12px}}
