:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#243730;background:#f3f6f3;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:0;background:#277456;color:white;border-radius:8px;padding:11px 18px;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}input,select,textarea{display:block;width:100%;border:1px solid #d8e2db;border-radius:8px;padding:11px;background:#fff;color:#243730}textarea{min-height:100px}label{display:block;margin:14px 0;color:#62756b;font-size:13px}small{color:#84948b;letter-spacing:1.5px}h1{font-size:30px;letter-spacing:-1px}h2{font-size:20px}p{color:#6b7c72;line-height:1.7}.login{width:460px;background:white;border:1px solid #dce5dd;border-radius:20px;padding:46px;margin:8vh auto;box-shadow:0 20px 80px #2349320a}.login h1{font-size:38px;line-height:1.4}.login button{width:100%}.logo{font-size:54px;color:#277456}aside{position:fixed;width:230px;inset:0 auto 0 0;padding:28px 20px;background:#173d30;color:#fff}aside h2{color:#fff}nav{margin-top:38px;display:grid;gap:6px}nav button{background:transparent;color:#b6cabe;text-align:left}nav button.active{background:#2d5946;color:#fff}footer{position:absolute;bottom:24px;display:grid;gap:8px}footer button{background:transparent;color:#b6cabe}main{margin-left:230px;padding:38px;max-width:1600px}header{display:flex;align-items:center;justify-content:space-between}header h1{margin-top:10px}.badge{background:#e0eee4;color:#277456;padding:10px 14px;border-radius:20px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card,.tablewrap,.welcome{background:#fff;border:1px solid #dfe7e0;border-radius:14px;padding:24px}.card strong{font-size:38px;display:block;margin-top:18px}.welcome{margin-top:24px;padding:34px;background:#e7efdf}.tablewrap{padding:0;overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}td,th{text-align:left;padding:16px;border-bottom:1px solid #edf0ec;font-size:13px}th{color:#718176;background:#f9fbf8}td button{padding:6px 10px;margin:2px;background:#e8f0e9;color:#276348}td img{width:48px;height:48px;object-fit:contain}#toolbar{display:flex;gap:10px;margin:20px 0}#toolbar input{max-width:260px}#pager{display:flex;gap:12px;align-items:center;margin-top:20px}dialog{border:1px solid #dae3da;border-radius:16px;padding:28px;width:640px;max-width:95vw;max-height:90vh}dialog::backdrop{background:#102b2466}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.actions button:first-child{background:#eaf0e9;color:#375a43}#notice,#formError,#loginError{color:#b24d39}.assetgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.assetgrid img{width:100%;height:120px;object-fit:contain;background:#edf1ed}.assetgrid code{display:block;overflow-wrap:anywhere;font-size:10px}.empty{text-align:center;padding:60px;color:#84948b}@media(max-width:900px){aside{width:175px;padding:20px 10px}main{margin-left:175px;padding:20px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){aside{position:static;width:auto}nav{display:flex;overflow:auto;margin:10px 0}nav button{white-space:nowrap}footer{position:static;display:flex}main{margin:0;padding:16px}.login{width:92%;padding:26px}.badge{display:none}.cards{gap:10px}.card{padding:16px}}
.imagefield{display:flex;gap:8px;align-items:center}.imagefield input{flex:1}.imagefield button{white-space:nowrap;padding:10px 14px}.picker{position:fixed;z-index:10000;inset:5vh 5vw;background:#fff;border:1px solid #d8e2db;border-radius:16px;box-shadow:0 20px 80px #102b2466;padding:20px;overflow:auto}.pickerhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.pickgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.pickitem{display:flex;flex-direction:column;gap:8px;align-items:center;background:#f6f9f6;color:#375a43;border:1px solid #e1e9e2;padding:10px}.pickitem img{width:100%;height:100px;object-fit:contain;background:#edf1ed}.pickitem span{font-size:12px;overflow-wrap:anywhere}
