﻿
:root{--bg:#f5f5f2;--paper:#fff;--ink:#30373e;--muted:#858a8d;--line:#dedfda;--accent:#405b50;--red:#934d45;--gold:#94733e;--serif:'Songti SC','SimSun',serif;--sans:'Microsoft YaHei','PingFang SC',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:13px/1.65 var(--sans)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:8px 16px;border-radius:2px}button:hover{background:#f0f1ed;border-color:#a9b0aa}button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button.primary:hover{background:#48524d}button.danger{color:var(--red);border-color:#d4b4af}button.link,.link{padding:0;border:0;background:none;color:#486551;cursor:pointer;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}button.small{padding:4px 10px;font-size:12px}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}.muted{color:var(--muted)}.mono{font-family:Consolas,monospace;letter-spacing:0}.serif{font-family:var(--serif)}.skip{position:fixed;top:-70px;background:#fff;padding:10px;z-index:200}.skip:focus{top:0}.shell{min-height:100vh}.topline{height:3px;background:#343b43}.topbar{height:68px;padding:0 30px;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:13px}.brandmark{width:34px;height:34px;display:grid;place-items:center;border:1px solid #a7aea6}.brandmark .icon{width:24px;height:24px}.brand strong{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:2px}.brand small{display:block;font-size:9px;color:#878c87;letter-spacing:2px}.toptools{display:flex;align-items:center;gap:20px;font-size:12px}.avatar{background:#e9ece5;width:28px;height:28px;display:inline-grid;place-items:center;margin-right:8px}.workspace{display:flex;min-height:calc(100vh - 71px)}.sidebar{width:215px;flex-shrink:0;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;padding:20px 0 0}.side-label{padding:18px 24px 7px;font-size:10px;letter-spacing:2px;color:#92958e}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 24px;border-left:3px solid transparent;font-size:12px;color:#646b6e}.nav-item:hover{background:#f8f8f5}.nav-item.active{border-left-color:#405b50;background:#edf0e9;color:#334a3a;font-weight:600}.sidefoot{margin-top:auto;border-top:1px solid var(--line);padding:20px 24px;font-size:10px;color:#93988f;line-height:2}.sidefoot i{width:5px;height:5px;display:inline-block;background:#a58a52;border-radius:50%;margin-right:6px}.main{flex:1;min-width:0;padding:25px 34px 36px;max-width:1920px}.crumb{font-size:11px;color:#91958f;margin-bottom:16px;letter-spacing:1px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #5d655f;padding-bottom:18px;margin-bottom:22px}.eyebrow{font-size:9px;letter-spacing:2px;color:#91958f;margin-bottom:5px}.pagehead h1{font-family:var(--serif);font-weight:400;font-size:25px;letter-spacing:4px;margin:0}.pagehead p{font-size:11px;color:#8a9089;margin:4px 0 0}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.banner{background:#f5f0e5;border:1px solid #dfd3b7;border-left:3px solid #a88953;padding:13px 16px;margin-bottom:20px;display:flex;align-items:center;gap:12px;color:#7e663d;font-size:12px}.banner a{margin-left:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);margin-bottom:22px}.stat{padding:22px 23px;border-right:1px solid var(--line);position:relative}.stat:last-child{border:0}.stat label{color:#858b83;font-size:11px;letter-spacing:1px}.stat strong{display:block;font:34px/1.4 var(--serif);margin-top:10px;letter-spacing:1px}.stat small{font:11px var(--sans);color:#95998f;margin-left:7px}.stat .icon{position:absolute;right:22px;top:25px;color:#a4ab9e}.stat em{font-style:normal;font-size:10px;color:#9a9d94}.red{color:var(--red)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.stack{display:flex;flex-direction:column;gap:22px}.card{border:1px solid var(--line);background:#fff;min-width:0}.cardhead{padding:15px 20px;border-bottom:1px solid #e9eae5;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;letter-spacing:2px}.cardhead small,.cardhead a{font-size:10px;letter-spacing:0;color:#878f83}.cardbody{padding:20px}.quickgrid{display:grid;grid-template-columns:1fr 1fr}.quick{padding:20px;border-right:1px solid #ecece6;border-bottom:1px solid #ecece6;display:flex;flex-direction:column;gap:12px;font-size:11px}.quick:nth-child(even){border-right:0}.quick:hover{background:#f8f9f4}.quick .icon{width:21px;height:21px;color:#65765d}.chart{height:130px;display:flex;align-items:flex-end;gap:12px;padding-top:16px}.bar{flex:1;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;font-size:9px;color:#959b90}.bar i{display:block;background:#dbe0d4;min-height:2px;border:1px solid #c4cdbb}.bar:last-child i{background:#56684c;border-color:#56684c}.chartsum{display:flex;justify-content:space-between;border-top:1px solid #eee;padding-top:14px;margin-top:8px;font-size:11px;color:#8c9485}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}th{padding:12px 16px;background:#fafaf7;border-bottom:1px solid var(--line);font-weight:400;font-size:11px;color:#858c81;letter-spacing:.5px}td{padding:14px 16px;border-bottom:1px solid #eeeee8}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbf8}.tablecheck{width:16px;height:16px;accent-color:#45583d}.badge{display:inline-block;line-height:1.7;padding:1px 7px;border:1px solid #d4d6cf;font-size:10px;background:#f7f7f4;color:#6d7469;white-space:nowrap}.badge.ok{color:#4b6750;border-color:#b8c8b4;background:#f1f6ed}.badge.warn{color:#96733b;border-color:#d9c7a7;background:#fbf7eb}.badge.bad{color:#94564c;border-color:#d4b5ad;background:#fbf0ed}.badge.neutral{color:#677488;background:#f0f3f8;border-color:#c4cddd}.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;padding:18px 20px;background:#fff;border:1px solid var(--line);border-bottom:0}.filters label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#8c9386}.filters input,.filters select{min-width:140px}.filters input[type=search]{min-width:210px}input,select,textarea{border:1px solid #d9dcd3;background:#fff;padding:9px 11px;border-radius:2px;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{border-color:#7f9275;outline:2px solid #dde4d5}textarea{resize:vertical;min-height:90px}input[type=checkbox]{min-width:0;accent-color:#45583d}.pagination{display:flex;gap:12px;align-items:center;padding:14px 18px;border-top:1px solid var(--line);font-size:11px;color:#8b9383}.pagination .pages{margin-left:auto;display:flex;gap:8px;align-items:center}.empty{text-align:center;padding:65px 20px;color:#8a9382}.empty .icon{width:32px;height:32px;color:#bec5b7;margin-bottom:12px}.empty h3{font:17px var(--serif);color:#626c59;margin:0 0 7px}.empty p{font-size:11px;margin:0}.errorbox{border:1px solid #d8b6ac;background:#fff9f6;padding:20px;color:#8c5345}.loading{padding:50px;color:#929b87;text-align:center}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.field{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#68735f}.field.wide{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;font-size:13px}.field span.required{color:#986759}.formsection{border-bottom:1px solid var(--line);padding-bottom:12px;margin:4px 0 20px;font-size:13px;letter-spacing:2px;font-family:var(--serif)}.formfoot{display:flex;gap:12px;justify-content:flex-end;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.help{font-size:11px;color:#8e9785;line-height:1.9}.files{display:flex;gap:12px;flex-wrap:wrap}.file{border:1px solid var(--line);padding:10px;font-size:11px;max-width:180px;overflow:hidden;text-overflow:ellipsis}.file input{width:100%}.file .icon{vertical-align:middle}.dropzone{border:1px dashed #aebba4;padding:36px 20px;text-align:center;background:#fcfdf9;cursor:pointer}.dropzone input{display:block;max-width:100%;margin:16px auto 0}.dropzone .icon{width:32px;height:32px;color:#819471}.steps{display:flex;gap:0;margin-bottom:24px;border:1px solid var(--line);background:white}.step{flex:1;padding:15px;color:#9ba392;font-size:11px;border-right:1px solid var(--line)}.step b{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;margin-right:10px;border-radius:50%;font-size:10px}.step.active{background:#f0f3eb;color:#4b6040}.kv{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}.kv dt{font-size:10px;color:#8f9886;margin-bottom:4px}.kv dd{margin:0;font-size:13px;overflow-wrap:anywhere}.detailgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.validity{text-align:center;padding:28px 16px}.validity strong{font:28px var(--serif);display:block;margin:16px 0 8px}.timeline{border-left:1px solid #cbd3c3;padding-left:20px;margin:0 0 0 6px}.event{position:relative;padding-bottom:20px;font-size:12px}.event:before{content:'';position:absolute;left:-24px;top:7px;width:6px;height:6px;background:#809372;border-radius:50%}.event small{display:block;color:#929b87;font-size:10px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs button{border:0;border-radius:0;background:none;padding:10px 2px;color:#8d9682}.tabs button.active{border-bottom:2px solid #4c6040;color:#3f5134}.message{padding:20px;border-bottom:1px solid #e9eee3;display:flex;gap:15px;cursor:pointer}.message.unread{background:#f9fbf5}.message h3{margin:0 0 8px;font-size:13px;font-weight:500}.message p{margin:0;color:#849176;font-size:12px;white-space:pre-wrap}.message small{font-size:10px;color:#a0aa95}.message>span{background:#eff3e8;padding:10px;height:40px;color:#778b65}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#a18a56;margin-right:7px}dialog{padding:0;border:1px solid #bfc9b4;box-shadow:0 25px 100px #18231333;width:min(720px,calc(100vw - 32px));max-height:90vh;background:#fff;color:var(--ink)}dialog::backdrop{background:#1e291f66;backdrop-filter:blur(2px)}.modalhead{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}.modalhead h2{font:20px var(--serif);margin:0;letter-spacing:2px}.modalhead button{padding:2px 8px}.modalbody{padding:24px;overflow:auto}.formerror{font-size:12px;color:#9d4d3b;white-space:pre-wrap;margin-top:15px}.modalimage{display:block;max-width:100%;max-height:65vh;margin:auto}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:#33452c;color:white;padding:12px 24px;box-shadow:0 10px 30px #0002;z-index:150;display:none;font-size:12px}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.loginhero{padding:54px 60px;background:#e9ece4;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.loginhero:after{content:'';position:absolute;right:-80px;bottom:75px;width:480px;height:480px;border:1px solid #d4dbc9;transform:rotate(45deg);pointer-events:none}.loginhero:before{content:'';position:absolute;right:-170px;bottom:-15px;width:480px;height:480px;border:1px solid #d4dbc9;transform:rotate(45deg);pointer-events:none}.hero-copy{position:relative;z-index:1;margin:80px 0}.hero-copy .eyebrow{letter-spacing:4px}.hero-copy h1{font:42px/1.65 var(--serif);letter-spacing:7px;margin:25px 0}.hero-copy p{font-size:12px;letter-spacing:2px;color:#8b9681;line-height:2.4}.loginmeta{font-size:10px;color:#8e9a83;letter-spacing:2px}.loginpane{display:flex;align-items:center;justify-content:center;padding:40px;background:#fcfcfa}.loginform{width:350px;max-width:100%}.loginform h2{font:27px var(--serif);letter-spacing:5px;margin:0 0 10px}.loginform>p{color:#98a08f;font-size:11px;margin-bottom:34px}.loginform .field{margin-bottom:20px}.loginform button.primary{width:100%;padding:12px;letter-spacing:4px;margin-top:10px}.loginform .help{margin-top:25px;text-align:center}.loginfoot{margin-top:45px;text-align:center;font-size:9px;color:#a4ac9b}.mobile-toggle{display:none}.footer{font-size:9px;color:#a0a793;margin-top:28px;display:flex;justify-content:space-between}.screen{background:#142025;color:#e1e5df;min-height:100vh;padding:36px 50px;font-size:18px}.screen header{display:flex;justify-content:space-between;border-bottom:1px solid #718176;padding-bottom:24px;align-items:center}.screen h1{font:32px var(--serif);letter-spacing:4px;margin:16px 0}.screen table{font-size:18px;color:#d9e3d3}.screen th{background:#203036;color:#99ae99;font-size:13px}.screen td{padding:22px 16px;border-color:#314338}.screen .stats{background:transparent;border-color:#425445;margin-top:30px}.screen .stat{border-color:#425445}.screen .stat strong{font-size:58px;color:#b9caa6}.screen .stat label{color:#90a281}.screen .banner{background:#26372e;color:#c1cfae;border-color:#4c6043;margin-top:25px}.mobile-bottom{display:none}.hidden{display:none!important}.wrap{white-space:normal;max-width:300px;min-width:150px}.progressline{height:4px;background:#e6ecdd;margin-top:20px}.progressline i{height:4px;background:#8da174;display:block}.inline-note{padding:12px 16px;background:#f5f7f0;color:#809171;font-size:11px;border:1px solid #dfe6d6}.minicards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.minicard{padding:20px;border:1px solid var(--line);background:#fff}.minicard b{display:block;font-family:var(--serif);font-size:22px;margin-bottom:12px}.dualgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dual-display{background:#19231c;padding:26px;color:#b3cd94;font-size:24px;text-align:center;border:5px solid #4c5546;font-family:var(--serif);margin-top:15px}.dual-display small{display:block;font-size:11px;color:#7d906c;margin-bottom:12px}.chiprow{display:flex;gap:8px;flex-wrap:wrap}.chiprow a{border:1px solid var(--line);padding:5px 12px;background:white;font-size:11px}.chiprow a.active{background:#e8efe0;border-color:#a6b998}@media(min-width:1700px){.main{padding:32px 48px}.stat{padding:26px 30px}}@media(max-width:1150px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.stack{display:grid;grid-template-columns:1fr 1fr}.sidebar{width:185px}.nav-item{padding-left:20px}.main{padding:24px}.brand strong{font-size:14px}.topbar{padding:0 20px}.detailgrid{grid-template-columns:1fr}.loginhero{padding:40px}.hero-copy h1{font-size:33px}}@media(max-width:760px){.topbar{height:60px;padding:0 16px}.brand strong{font-size:12px;letter-spacing:1px}.brand small{font-size:8px;letter-spacing:0}.brandmark{display:none}.toptools{gap:12px}.toptools .role-label{display:none}.mobile-toggle{display:inline-flex;padding:5px}.sidebar{display:none;position:fixed;top:63px;bottom:0;left:0;z-index:40;width:230px;overflow:auto;box-shadow:15px 0 40px #0002}.sidebar.open{display:flex}.main{padding:19px 16px 90px}.pagehead{align-items:flex-start;margin-bottom:16px}.pagehead h1{font-size:22px}.pagehead p{max-width:200px}.pagehead .actions button{padding:6px 10px;font-size:11px}.stats{grid-template-columns:1fr 1fr;margin-bottom:16px}.stat{padding:15px;border-bottom:1px solid var(--line)}.stat:nth-child(2){border-right:0}.stat strong{font-size:29px;margin-top:5px}.dashboard-grid{gap:16px}.dashboard-grid>.stack{display:flex;gap:16px}.dashboard-grid .stack{gap:16px}.filters{gap:10px;padding:14px}.filters label{flex:1;min-width:120px}.filters input,.filters select,.filters input[type=search]{min-width:0;width:100%}.filters button{flex:1}.formgrid,.kv{grid-template-columns:1fr}.field.wide{grid-column:auto}.pagehead .eyebrow{font-size:8px}.banner{font-size:11px;flex-wrap:wrap}.login{grid-template-columns:1fr}.loginhero{padding:25px 28px 0;min-height:200px}.loginhero .brand{display:none}.hero-copy{margin:10px 0 30px}.hero-copy h1{font-size:28px;line-height:1.5;margin:10px 0;letter-spacing:4px}.hero-copy p{font-size:10px}.loginmeta{display:none}.loginpane{padding:35px 28px 50px}.loginform{width:100%}.loginform>p{margin-bottom:25px}.loginfoot{margin-top:25px}.mobile-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);justify-content:space-around;z-index:30;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;color:#929b87;font-size:10px;flex:1}.mobile-bottom a.active{color:#405b36;background:#f3f6ed}.minicards{grid-template-columns:1fr}.dualgrid{grid-template-columns:1fr}.screen{padding:20px}.screen h1{font-size:22px}.screen header{font-size:10px}.screen td{padding:12px;font-size:13px}.footer{display:none}.steps{font-size:10px}.step{padding:10px}.step b{display:block;margin-bottom:5px}.formfoot{flex-wrap:wrap}.formfoot button{flex:1}.pagination{flex-wrap:wrap}.modalbody{padding:18px}}
@media print{.sidebar,.topbar,.pagehead .actions,.mobile-bottom,.footer,.crumb,.skip,#toast{display:none!important}.main{padding:0}body,.card{background:#fff}.card{break-inside:avoid}.detailgrid{display:block}button{display:none}dialog{position:absolute;box-shadow:none;border:0;width:100%;max-height:none}.tablewrap{overflow:visible}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:760px){.topbar .brand{flex:1;min-width:0}.topbar .brand strong{font-size:0;letter-spacing:0}.topbar .brand strong:after{content:'策克口岸 · 车辆监管';font-size:13px;letter-spacing:1px;white-space:nowrap}.topbar .brand small{display:none}.toptools{flex-shrink:0;gap:12px}.toptools a[href='#my']{font-size:0}.toptools .avatar{font-size:11px;margin:0}.toptools>.link{font-size:11px}.pagehead p{max-width:none}.main{padding-top:20px}}
.stack{min-width:0}.tablewrap{max-width:100%}@media(max-width:760px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-grid>.stack{min-width:0}.cardhead{flex-wrap:wrap}.pagehead h1{overflow-wrap:anywhere}}
