.bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#f5f5f7;display:flex;align-items:center;justify-content:center}.card{background:#fff;border-radius:16px;border:1px solid #e5e5e7;padding:40px 40px 28px;width:500px;max-width:95vw}.logoWrap{text-align:center;margin-bottom:32px}.logoIcon{width:52px;height:52px;border-radius:14px;background:#1d1d1f;color:#fff;font-size:24px;font-weight:600;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.logoText{font-size:22px;font-weight:600;color:#1d1d1f;margin:0}.logoSub{font-size:13px;color:#86868b;margin-top:4px}.formWrap{display:flex;flex-direction:column;gap:4px}.label{display:block;font-size:12px;font-weight:600;color:#515154;margin-bottom:5px}.input{width:100%}.error{font-size:12px;color:#c0392b;background:#fff5f5;border:1px solid #f0c4c4;border-radius:8px;padding:8px 12px;margin:4px 0}.submitBtn{width:100%;height:42px;font-size:14px;margin-top:8px;justify-content:center}.hint{text-align:center;font-size:11px;color:#b0b0b8;margin-top:20px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f5f7;color:#1d1d1f;font-size:14px;display:flex;min-height:100vh}.sidebar{width:220px;background:#fff;border-right:1px solid #e5e5e7;display:flex;flex-direction:column;flex-shrink:0;position:fixed;height:100vh;z-index:10}.logo{padding:20px 20px 16px;border-bottom:1px solid #e5e5e7}.logo h1{font-size:15px;font-weight:600;color:#1d1d1f}.logo span{font-size:11px;color:#86868b;margin-top:2px;display:block}.nav{padding:12px 8px;flex:1}.nav-section{font-size:11px;color:#86868b;padding:12px 12px 4px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;color:#515154;font-size:13px;font-weight:500;transition:background .15s,color .15s;margin-bottom:2px}.nav-item:hover{background:#f5f5f7;color:#1d1d1f}.nav-item.active{background:#f0f0f5;color:#1d1d1f}.nav-item svg{width:16px;height:16px;flex-shrink:0}.main{margin-left:220px;flex:1;padding:32px 24px 48px;min-height:100vh;min-width:0}.card{overflow-x:auto}table{min-width:700px}.page{display:none}.page.active{display:block}.page-header{margin-bottom:24px}.page-header h2{font-size:22px;font-weight:600;color:#1d1d1f}.page-header p{font-size:13px;color:#86868b;margin-top:4px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid #d2d2d7;background:#fff;color:#1d1d1f;transition:background .15s,border-color .15s}.btn:hover{background:#f5f5f7;border-color:#b0b0b8}.btn-primary{background:#1d1d1f;color:#fff;border-color:#1d1d1f}.btn-primary:hover{background:#333}.btn-danger{background:#fff;color:#c0392b;border-color:#f0c4c4}.btn-danger:hover{background:#fff5f5}.btn-sm{padding:5px 10px;font-size:12px;border-radius:6px}input[type=text],input[type=email],input[type=tel],input[type=password],input[type=date],input[type=url]{height:36px;border:1px solid #d2d2d7;border-radius:8px;padding:0 12px;font-size:13px;color:#1d1d1f;outline:none;background:#fff;transition:border-color .15s}input:focus{border-color:#555}select{height:36px;border:1px solid #d2d2d7;border-radius:8px;padding:0 10px;font-size:13px;background:#fff;outline:none;color:#1d1d1f;width:100%}.search-box{height:36px;border:1px solid #d2d2d7;border-radius:8px;padding:0 12px 0 32px;font-size:13px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2386868b' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E") no-repeat 10px center;outline:none;width:260px;transition:border-color .15s}.search-box:focus{border-color:#555}.card{background:#fff;border-radius:12px;border:1px solid #e5e5e7;overflow-x:auto;width:100%}table{width:100%;border-collapse:collapse;min-width:700px}th{text-align:center;padding:11px 16px;font-size:11px;font-weight:600;color:#86868b;border-bottom:1px solid #e5e5e7;text-transform:uppercase;letter-spacing:.4px;background:#fafafa}td{padding:12px 16px;border-bottom:1px solid #f0f0f2;font-size:13px;color:#1d1d1f;vertical-align:middle;text-align:center}tr:last-child td{border-bottom:none}tr:hover td{background:#fafafa}.actions{display:flex;gap:6px}.empty{text-align:center;padding:48px 16px;color:#86868b;font-size:13px}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}.badge-active{background:#e8f8f0;color:#1a7a45}.badge-inactive{background:#f5f5f7;color:#86868b}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e5e5e7;border-radius:10px;padding:16px}.stat-label{font-size:12px;color:#86868b;margin-bottom:6px}.stat-value{font-size:24px;font-weight:600;color:#1d1d1f}.stat-sub{font-size:11px;color:#86868b;margin-top:3px}.loading{text-align:center;padding:48px 16px;color:#86868b;font-size:13px}.error-msg{text-align:center;padding:48px 16px;color:#c0392b;font-size:13px}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:100;align-items:center;justify-content:center}.modal-overlay.open{display:flex}.modal{background:#fff;border-radius:14px;padding:28px;width:480px;max-width:95vw;max-height:90vh;overflow-y:auto}.modal-sm{width:420px}.modal h3{font-size:17px;font-weight:600;margin-bottom:20px;color:#1d1d1f}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:12px;font-weight:600;color:#515154;margin-bottom:5px}.form-group input,.form-group select{width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e5e7}.confirm-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;align-items:center;justify-content:center}.confirm-overlay.open{display:flex}.confirm-box{background:#fff;border-radius:14px;padding:24px;width:360px;max-width:95vw}.confirm-box h4{font-size:16px;font-weight:600;margin-bottom:8px}.confirm-box p{font-size:13px;color:#515154;margin-bottom:20px}.confirm-footer{display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;bottom:24px;right:24px;background:#1d1d1f;color:#fff;padding:12px 18px;border-radius:10px;font-size:13px;font-weight:500;z-index:999;opacity:0;transform:translateY(8px);transition:all .25s;pointer-events:none}.toast.show{opacity:1;transform:none}
