*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f5f5;color:#333;-webkit-font-smoothing:antialiased}.page{min-height:100vh;padding:20px 16px;max-width:480px;margin:0 auto}.card{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px #00000014}.btn{display:block;width:100%;padding:14px;border:none;border-radius:10px;font-size:16px;cursor:pointer;margin-bottom:12px;transition:opacity .2s}.btn:active{opacity:.8}.btn-primary{background:#1677ff;color:#fff}.btn-success{background:#00b578;color:#fff}.btn-warning{background:#ff8f1f;color:#fff}.btn-danger{background:#ff3141;color:#fff}.btn:disabled{background:#ccc;color:#999;cursor:not-allowed}.input-group{margin-bottom:14px}.input-group label{display:block;margin-bottom:6px;font-size:14px;color:#666}.input-group input,.input-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:15px;outline:none}.input-group input:focus,.input-group select:focus{border-color:#1677ff}.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000bf;color:#fff;padding:12px 24px;border-radius:8px;font-size:15px;z-index:9999}.error-text{color:#ff3141;font-size:13px;margin-top:4px}.success-text{color:#00b578;font-size:13px;margin-top:4px}.page-title{font-size:20px;font-weight:600;text-align:center;margin-bottom:24px;color:#1a1a1a}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:8px 6px;text-align:left;border-bottom:1px solid #eee}th{background:#f8f8f8;font-weight:500;color:#666}.user-bar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#fff;border-bottom:1px solid #eee;margin:-20px -16px 16px}.user-bar-name{font-size:14px;font-weight:500;color:#333}.locate-btn{float:right;padding:2px 10px;border:1px solid #1677ff;border-radius:6px;background:#fff;color:#1677ff;font-size:13px;font-weight:400;cursor:pointer}.user-bar-logout{padding:4px 12px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#666;font-size:13px;cursor:pointer}.cabinet-grid{display:flex;gap:12px;justify-content:center}.cabinet-col{display:flex;flex-direction:column;gap:6px;align-items:center}@media(max-width:360px){.page{padding:12px 10px}.card{padding:14px}}
