*{box-sizing:border-box;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;color:#000}
body{background:linear-gradient(135deg,#ffe600 0%,#b8e62e 45%,#22c55e 100%);min-height:100vh}
.topbar{background:#fff;border-bottom:3px solid #000;padding:10px 22px;display:flex;align-items:center;gap:14px}
.topbar h1{font-size:22px}
.chip{display:inline-block;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:bold}
.green{background:#22c55e;color:#fff}.grey{background:#e5e5e5}.amber{background:#ffb020}
.logout{margin-left:auto;font-weight:bold;text-decoration:none;background:#eee;border-radius:8px;padding:8px 14px}
.layout{display:flex;min-height:calc(100vh - 58px)}
.sidebar{width:210px;background:rgba(255,255,255,.92);padding:18px 12px}
.sidebar a{display:block;padding:11px 12px;margin-bottom:6px;border-radius:8px;text-decoration:none;font-weight:bold;font-size:15px}
.sidebar a.active{background:#22c55e;color:#fff}
.main{flex:1;padding:20px 24px}
.cards{display:flex;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.card{background:#fff;border-radius:12px;padding:16px 20px;flex:1;min-width:150px;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.card b{font-size:30px;display:block;margin-top:4px}
.card span{font-size:14px}
.panel{background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 2px 6px rgba(0,0,0,.18);margin-bottom:18px}
.panel h2{font-size:18px;margin-bottom:12px}
.panel h3{font-size:16px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{border-bottom:1px solid #ddd;padding:9px 8px;text-align:left;vertical-align:top}
th{background:#f4f4f4}
input,select,textarea{width:100%;padding:10px;border:1px solid #999;border-radius:8px;font-size:15px;margin-top:4px;background:#fff}
input[type=checkbox]{width:auto}
label{font-size:14px;font-weight:bold}
.row{display:flex;gap:16px}
.row>div{flex:1}
.btn{display:inline-block;background:#eee;border:1px solid #999;border-radius:8px;padding:10px 18px;font-size:15px;font-weight:bold;cursor:pointer;text-decoration:none}
.btn-primary{background:#ff7a00;color:#fff;border:none}
.btn-danger{background:#d33;color:#fff;border:none}
.mini{display:inline-block;background:#eee;border:1px solid #999;border-radius:6px;padding:4px 10px;font-size:13px;text-decoration:none;cursor:pointer}
.mini.danger{background:#fdd}
.msg{margin-top:10px;font-weight:bold;min-height:18px}
.template-box{border:1px solid #ccc;border-radius:10px;padding:12px;margin-bottom:12px;background:#fbfbfb}
.template-box label{display:block;margin-bottom:2px}
.note{font-size:14px;line-height:1.6;margin-top:10px}
.log{font-size:13px;background:#f4f4f4;border-radius:8px;padding:10px;white-space:pre-wrap;margin-top:8px}
.error{background:#fdd;border:1px solid #c00;border-radius:8px;padding:10px;margin-bottom:12px}
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh}
.login-box{background:#fff;border-radius:14px;padding:28px 30px;width:380px;box-shadow:0 4px 16px rgba(0,0,0,.25)}
.login-box h1{font-size:24px;margin-bottom:6px}
.login-box .sub{margin-bottom:16px;font-size:14px}
.login-box label{display:block;margin-top:12px}
.login-box button{width:100%;margin-top:18px}
.login-box .hint{font-size:13px;margin-top:14px;line-height:1.5}
