    /* ═══════ OUTLINE TYPE — 테두리형 버튼 ═══════
    ?????????????????????????????????????????????? */
    /* 공통 outline 기본 */
    .btn-outline-base{
      background:transparent;
      border-width:1.5px;border-style:solid;
    }

    /* Secondary (회색 — 취소/해지) */
    .btn-secondary{background:#9ca3af;border-color:#6b7280;color:#fff;}
    .btn-secondary:hover:not(:disabled){background:#6b7280;}
    .btn-secondary:active:not(:disabled){background:#4b5563;}
    .btn-secondary.selected,.btn-secondary[aria-selected="true"]{background:#4b5563;}

    /* Outline Primary (빨강 테두리) */
    .btn-outline-primary{
      background:transparent;color:#dc2626;
      border:1.5px solid #dc2626;
    }
    .btn-outline-primary:hover:not(:disabled){
      background:#fef2f2;border-color:#b91c1c;
    }
    .btn-outline-primary:active:not(:disabled){
      background:#fee2e2;border-color:#b91c1c;
    }
    .btn-outline-primary.selected,.btn-outline-primary[aria-selected="true"]{
      background:#dc2626;color:#fff;
    }

    /* Outline Success (그린 테두리) */
    .btn-outline-success{
      background:transparent;color:#10b981;
      border:1.5px solid #10b981;
    }
    .btn-outline-success:hover:not(:disabled){
      background:#f0fdf4;border-color:#059669;
      box-shadow:0 2px 8px rgba(16,185,129,.18);
    }
    .btn-outline-success:active:not(:disabled){
      background:#dcfce7;border-color:#047857;
    }
    .btn-outline-success.selected,.btn-outline-success[aria-selected="true"]{
      background:#10b981;color:#fff;
    }

    /* Outline Warning (앰버 테두리) */
    .btn-outline-warning{
      background:transparent;color:#d97706;
      border:1.5px solid #f59e0b;
    }
    .btn-outline-warning:hover:not(:disabled){
      background:#fffbeb;border-color:#d97706;
      box-shadow:0 2px 8px rgba(245,158,11,.18);
    }
    .btn-outline-warning:active:not(:disabled){
      background:#fef3c7;border-color:#b45309;
    }
    .btn-outline-warning.selected,.btn-outline-warning[aria-selected="true"]{
      background:#f59e0b;color:#fff;
    }

    /* Outline Danger (빨강 테두리) */
    .btn-outline-danger{
      background:transparent;color:#dc2626;
      border:1.5px solid #dc2626;
    }
    .btn-outline-danger:hover:not(:disabled){
      background:#fef2f2;border-color:#b91c1c;
      box-shadow:0 2px 8px rgba(220,38,38,.18);
    }
    .btn-outline-danger:active:not(:disabled){
      background:#fee2e2;border-color:#b91c1c;
    }
    .btn-outline-danger.selected,.btn-outline-danger[aria-selected="true"]{
      background:#dc2626;color:#fff;
    }

    /* Outline Indigo (인디고 테두리) */
    .btn-outline-indigo{
      background:transparent;color:#4f46e5;
      border:1.5px solid #6366f1;
    }
    .btn-outline-indigo:hover:not(:disabled){
      background:#eef2ff;border-color:#4f46e5;
      box-shadow:0 2px 8px rgba(99,102,241,.18);
    }
    .btn-outline-indigo:active:not(:disabled){
      background:#e0e7ff;border-color:#3730a3;
    }
    .btn-outline-indigo.selected,.btn-outline-indigo[aria-selected="true"]{
      background:#4f46e5;color:#fff;
    }

    /* Ghost (테두리 없음, hover 시 배경 표시) */
    .btn-ghost{
      background:transparent;color:#6b7280;
      border:1.5px solid transparent;
    }
    .btn-ghost:hover:not(:disabled){
      background:#f3f4f6;color:#374151;border-color:#e5e7eb;
    }
    .btn-ghost:active:not(:disabled){
      background:#e5e7eb;
    }
    .content{flex:1;padding:0 28px 28px}
    .page{display:none}.page.active{display:block;padding-top:24px}
    .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
    .stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.06);display:flex;align-items:stretch;gap:14px}
    .stat-card.vertical{flex-direction:column;align-items:stretch;gap:0;}
    .stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
    .stat-icon.red{background:rgba(233,69,96,.1);color:#e94560}
    .stat-icon.blue{background:rgba(59,130,246,.1);color:#3b82f6}
    .stat-icon.green{background:rgba(16,185,129,.1);color:#10b981}
    .stat-icon.purple{background:rgba(139,92,246,.1);color:#8b5cf6}
    .stat-icon.orange{background:rgba(245,158,11,.1);color:#f59e0b}
    .stat-info .stat-label{font-size:11.5px;color:#888;font-weight:500}
    .stat-info .stat-value{font-size:22px;font-weight:700;color:#1a1a2e;margin-top:3px}
    .stat-info .stat-sub{font-size:10.5px;color:#aaa;margin-top:1px}
    .card{background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.06);overflow:hidden}
    .card-header{padding:16px 22px 12px;border-bottom:1px solid #f0f2f5;display:flex;align-items:center;justify-content:space-between;min-height:67px;box-sizing:border-box;}
    .card-title{font-size:14px;font-weight:700;color:#1a1a2e}
    .table-wrap{overflow-x:auto}
    table{width:100%;border-collapse:collapse;font-size:13px}
    thead th{background:#f8f9fb;color:#555;font-weight:600;padding:11px 14px;text-align:left;font-size:11.5px;border-bottom:1px solid #eee;white-space:nowrap}
    tbody tr{border-bottom:1px solid #f5f5f5;transition:background .15s}
    tbody tr:hover{background:#fafbff}
    tbody td{padding:11px 14px;color:#333;vertical-align:middle}
    .badge{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:500}
    .badge-green{background:rgba(16,185,129,.1);color:#10b981}
    .badge-red{background:rgba(239,68,68,.1);color:#ef4444}
    .badge-blue{background:rgba(59,130,246,.1);color:#3b82f6}
    .badge-yellow{background:rgba(245,158,11,.1);color:#f59e0b}
    .badge-gray{background:#f3f4f6;color:#374151}
    .badge-orange{background:rgba(234,88,12,.1);color:#ea580c}
    .badge-purple{background:rgba(139,92,246,.1);color:#8b5cf6}
    .badge-cyan{background:rgba(6,182,212,.1);color:#0891b2}
    .badge-pink{background:rgba(236,72,153,.1);color:#db2777}
.badge-indigo{background:rgba(99,102,241,.15);color:#4338ca}
.badge-teal{background:rgba(20,184,166,.1);color:#0f766e}
.badge-rose{background:rgba(244,63,94,.12);color:#be123c}
    .badge-slate{background:rgba(100,116,139,.1);color:#475569}
    .badge-amber{background:rgba(245,158,11,.15);color:#b45309}
    /* 통계 카드 레이아웃 공통 */