@charset "UTF-8";
:root{--ink:#152533;--muted:#657484;--bg:#f2f5f7;--line:#dce4e9;--navy:#102631;--accent:#0a766d;--teal:#baf3db;--red:#b43038}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 'Segoe UI',Arial,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}aside{width:230px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:#bdcdd4;overflow:auto;padding:28px 18px 20px}.brand{font-size:29px;letter-spacing:3px;color:white;display:block;font-weight:800;padding:0 15px 26px}.brand span{color:#67dcbd}.brand small{display:block;font-size:10px;letter-spacing:1.8px;margin-top:5px;color:#99b3bf}.nav-label{font-size:11px;letter-spacing:1.6px;font-weight:600;color:#86a3b0;padding:17px 14px 9px}nav a{display:block;color:#c6d6dd;padding:8px 14px;border-radius:6px;font-size:14px}nav a:hover,nav a.selected{background:#24434e;color:white;text-decoration:none}nav a.selected{border-left:3px solid #65d8b5;padding-left:11px}.aside-foot{font-size:12px;color:#88a1ad;padding:28px 14px}.shell{margin-left:230px}.shell.guest{margin-left:0}header{height:78px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:22px;padding:0 36px;font-size:12px;color:var(--muted)}header b{font-weight:500;color:var(--ink)}.global-search{margin-left:auto;width:270px}.global-search input{font-size:13px;background:#f5f7f8;border-color:transparent}.account{position:relative;font-size:14px;color:var(--ink);min-width:100px}.account summary{cursor:pointer}.account>div{position:absolute;right:0;top:30px;z-index:10;background:white;padding:20px;min-width:230px;box-shadow:0 8px 30px #10263126}.account button{margin-top:12px}main{padding:34px 36px;max-width:1800px;margin:auto;min-height:calc(100vh - 125px)}footer{padding:12px 36px;color:var(--muted);font-size:12px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:1.7px;color:var(--accent);font-weight:700}h1{font-size:30px;line-height:1.25;margin:7px 0 9px;letter-spacing:-.8px;font-weight:650}h2{font-size:18px;margin:0}h3{font-size:17px;margin:14px 0 5px}p{margin:8px 0 16px}.muted{color:var(--muted)}.small{font-size:13px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}button,.button{display:inline-flex;justify-content:center;align-items:center;min-height:40px;border:1px solid #c9d5dc;border-radius:6px;background:#fff;padding:9px 16px;color:var(--ink);font:600 14px 'Segoe UI',Arial,sans-serif;cursor:pointer;white-space:nowrap}button:hover,.button:hover{background:#eaf2f1;text-decoration:none}.primary{background:var(--accent);border-color:var(--accent);color:white}.primary:hover{background:#075f57;color:white}.full{width:100%}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.stat{border:1px solid var(--line);background:white;border-radius:10px;padding:22px;min-height:165px}.stat>span{font-size:13px;font-weight:600}.stat>strong{display:block;font-size:42px;line-height:1.25;margin:12px 0 8px;font-weight:650}.stat>small{color:var(--muted);font-size:12px}.stat.dark{background:var(--navy);color:white;border-color:var(--navy)}.stat.dark small{color:#acd2cf}.red{color:var(--red)}.state-line{display:flex;justify-content:space-between;font-size:13px;margin-top:6px}.state-line:first-of-type{margin-top:14px}.panel{background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:24px;overflow:hidden}.panel>h2,.panel>p,.panel>label,.panel>input{margin:20px}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;gap:20px}.panel-title p{font-size:13px;margin:4px 0 0}.panel-title>a{font-size:14px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#6b7a87;background:#f8fafb;white-space:nowrap;font-weight:600}td,th{padding:15px 22px;border-bottom:1px solid #e9eef1}td{font-size:14px;vertical-align:top}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfd}.badge{display:inline-block;font-size:12px;padding:4px 9px;line-height:1.4;background:#edf1f4;border-radius:5px;color:#556575;white-space:nowrap}.badge.danger{background:#fce8e8;color:#a52730}.badge.warning{background:#fff2d8;color:#8d6200}.badge.success{background:#e3f5eb;color:#19714e}.empty{padding:38px!important;text-align:center;color:var(--muted)}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 24px 24px}.vehicle-card{padding:20px;border:1px solid var(--line);border-radius:8px;color:var(--ink)}.vehicle-card:hover{text-decoration:none;border-color:var(--accent)}.vehicle-card p{font-size:13px;color:var(--muted)}.plate{font-size:15px;border:1px solid #becbd3;border-left:7px solid #4468a7;border-radius:4px;padding:4px 9px;letter-spacing:1px;font-weight:700}.filters{display:flex;gap:12px;align-items:center;padding:20px 24px;flex-wrap:wrap}.filters input,.filters select{width:auto;max-width:270px;min-width:130px}.filters label{font-size:14px}input,select,textarea{width:100%;min-height:42px;border:1px solid #bfccd4;border-radius:5px;background:#fff;padding:9px 11px;color:var(--ink);font:14px/1.4 'Segoe UI',Arial,sans-serif}input:focus,select:focus,textarea:focus{outline:2px solid #69bea9;outline-offset:1px}input[type=checkbox]{width:17px;min-height:17px;vertical-align:middle;accent-color:var(--accent)}.panel-bottom{padding:16px 24px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:13px}.form-panel{max-width:1100px;padding:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.field.wide{grid-column:1/-1}.required{color:var(--accent)}.help{font-size:12px;color:var(--muted);margin-top:6px}.help ul{padding-left:20px}.form-actions{display:flex;gap:12px;margin-top:26px;padding:0 0 5px}.panel>.form-actions{padding:0 24px 22px}.errorlist,.error-text{color:#a32330;font-size:14px}.errorlist{padding-left:20px}.message{padding:14px 18px;background:#e3f5eb;border:1px solid #bce2cb;border-radius:6px;margin-bottom:18px}.message.error{background:#fce7e8;border-color:#e8c3c3}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:5px 24px 24px;margin:0}.detail-grid dt{font-size:12px;color:var(--muted);margin-bottom:5px}.detail-grid dd{margin:0;font-size:15px;overflow-wrap:anywhere}.back{font-size:13px;display:block;margin-bottom:15px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}.tabs a{border:1px solid var(--line);background:white;padding:8px 14px;color:var(--accent)}.history-list{padding:0 24px 20px}.history-list>a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;color:var(--ink);gap:20px}.history-list span{font-size:13px;color:var(--muted)}.archive{padding:20px;color:var(--muted)}.archive summary{cursor:pointer}.text-button{border:0;background:none;padding:0;min-height:25px;color:var(--accent);font-size:13px;font-weight:400}.user-actions{display:flex;gap:8px;flex-direction:column;min-width:145px}.grant{margin-bottom:10px;font-size:13px}.grant form{display:inline;margin-left:8px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 24px 24px}.role-card{padding:18px;border:1px solid var(--line);border-radius:7px;color:var(--ink)}.role-card span{display:block;font-size:13px;color:var(--muted);margin-top:10px}#id_permissions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}#id_permissions label{font-weight:400;font-size:13px}pre{max-width:500px;white-space:pre-wrap;font-size:12px;overflow-wrap:anywhere}.login-wrap{max-width:480px;margin:7vh auto}.login-brand{font-size:34px;color:var(--navy);font-weight:800;letter-spacing:4px;margin-bottom:30px}.login-brand span{display:block;font-size:10px;letter-spacing:2px;color:var(--muted)}.login-card{padding:36px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 60px #12303c0a}.login-card h1{font-size:28px;margin-top:12px}.login-card label{display:block;font-size:14px;font-weight:600;margin:20px 0 6px}.login-card button{margin:26px 0 10px}.login-caption{color:var(--muted);font-size:13px;text-align:center;margin-top:25px}@media(max-width:1150px){aside{width:200px}.shell{margin-left:200px}main{padding:26px}.stats{grid-template-columns:repeat(2,1fr)}.vehicle-grid,.role-grid{grid-template-columns:repeat(2,1fr)}header{padding:0 26px}.global-search{width:220px}header>span{display:none}.detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.brand{font-size:23px;padding:0 8px 10px}.shell{margin-left:0}header{height:65px;padding:0 18px}.global-search{margin-left:0;flex:1}.page-title{align-items:flex-start;flex-direction:column}main{padding:22px 16px}.stats{gap:10px}.stat{padding:17px}.stat>strong{font-size:34px}.vehicle-grid,.role-grid,.form-grid,.detail-grid{grid-template-columns:1fr}.form-panel{padding:20px}.filters{padding:16px}.filters input,.filters select{max-width:none;flex:1}h1{font-size:26px}#id_permissions{grid-template-columns:1fr}.login-card{padding:26px}.login-wrap{margin:3vh auto}}

/* The same vertical navigation serves desktop, mobile and the Android wrapper. */
.menu-toggle,.menu-close,.menu-backdrop{display:none}
@media(max-width:750px){
  #main-menu{position:fixed;inset:0 auto 0 0;width:290px;max-width:calc(100vw - 44px);height:100vh;height:100dvh;padding:22px 14px;z-index:101;visibility:hidden;transform:translateX(-100%);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
  body.menu-open #main-menu{visibility:visible;transform:translateX(0)}
  body.menu-open{overflow:hidden}
  #main-menu .brand{padding:0 48px 20px 12px}
  #main-menu nav{display:block}
  #main-menu nav a{min-height:46px;display:flex;align-items:center;white-space:normal;overflow-wrap:anywhere}
  .menu-close{display:flex;position:absolute;right:14px;top:16px;width:44px;height:44px;padding:0;background:transparent;border-color:#53727f;color:white}
  .menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:100;background:#07192399;touch-action:none}
  .menu-toggle{display:inline-flex;gap:7px;min-height:44px;padding:8px 10px;flex-shrink:0}
  .shell>header{position:sticky;top:0;z-index:30;height:auto;min-height:65px;padding:10px 12px;gap:10px;flex-wrap:wrap}
  .global-search{min-width:0;flex:1;width:auto}
  .account{min-width:0;max-width:115px;margin-left:auto}
  .account summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px 0}
  .account>div{top:44px}
}
@media(max-width:420px){.shell>header .global-search{order:3;flex-basis:100%}}
