/* ===========================  Arcon Tech Design System  =========================== */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css');
:root {
  --bg:#0f1117;--bg2:#161822;--bg3:#1e2030;--bg4:#252840;
  --border:rgba(255,255,255,0.07);--border2:rgba(255,255,255,0.13);
  --text:#e8eaf0;--text2:#9ba3c0;--text3:#6b7294;--text4:#4a5070;
  --card-shadow:0 4px 24px rgba(0,0,0,0.4);--shadow-sm:0 2px 8px rgba(0,0,0,0.3);
  --input-bg:#1e2030;--input-border:rgba(255,255,255,0.13);
  --accent:#6366f1;--accent2:#8b5cf6;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;
  --sidebar-w:262px;--sidebar-col:72px;--topbar-h:60px;--radius:14px;--radius-sm:8px;--transition:0.2s ease;
}
body.light {
  --bg:#f0f2f8;--bg2:#ffffff;--bg3:#f5f6fb;--bg4:#eaedf7;
  --border:rgba(0,0,0,0.07);--border2:rgba(0,0,0,0.12);
  --text:#111827;--text2:#374151;--text3:#6b7280;--text4:#9ca3af;
  --card-shadow:0 2px 16px rgba(0,0,0,0.08);--shadow-sm:0 1px 6px rgba(0,0,0,0.08);
  --input-bg:#ffffff;--input-border:rgba(0,0,0,0.15);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;transition:background .3s,color .3s}
a{text-decoration:none;color:inherit}

/* LOGIN */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;overflow:hidden}
.login-bg{position:fixed;inset:0;z-index:0;overflow:hidden}
.login-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.2}
.orb1{width:500px;height:500px;background:#6366f1;top:-150px;left:-150px}
.orb2{width:400px;height:400px;background:#8b5cf6;bottom:-100px;right:-100px}
.orb3{width:300px;height:300px;background:#06b6d4;top:50%;left:55%;transform:translate(-50%,-50%)}
body.light .login-orb{opacity:.1}
.login-wrapper{position:relative;z-index:1;width:100%;max-width:420px;padding:16px}
.login-card{background:var(--bg2);border:1px solid var(--border2);border-radius:20px;padding:40px 36px;box-shadow:var(--card-shadow)}
.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.app-name{font-size:1.15rem;font-weight:700;color:var(--text)}
.app-sub{font-size:.78rem;color:var(--text3);margin-top:1px}
.login-title{font-size:1.5rem;font-weight:700;margin-bottom:6px;color:var(--text)}
.login-desc{color:var(--text3);font-size:.88rem;margin-bottom:28px}
.alert{padding:10px 14px;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:16px}
.alert-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#dc2626}
body:not(.light) .alert-error{color:#fca5a5}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:.82rem;font-weight:500;color:var(--text2);margin-bottom:6px}
.input-wrap{position:relative}
.input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text3);display:flex;align-items:center}
.input-wrap input{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:.9rem;padding:10px 12px 10px 38px;outline:none;transition:border-color var(--transition)}
.input-wrap input:focus{border-color:var(--accent)}
.input-wrap input::placeholder{color:var(--text4)}
.btn-login{width:100%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:var(--radius-sm);padding:11px;font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;margin-top:8px;transition:opacity var(--transition),transform var(--transition)}
.btn-login:hover{opacity:.88;transform:translateY(-1px)}
.login-hint{text-align:center;margin-top:20px;font-size:.8rem;color:var(--text3)}
.login-hint code{background:var(--bg3);padding:2px 6px;border-radius:4px;color:var(--text2);font-size:.78rem}

/* LAYOUT */
.erp-layout{display:flex;min-height:100vh}

/* SIDEBAR */
.sidebar{width:var(--sidebar-w);height:100vh;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:200;transition:width var(--transition);overflow:hidden}
.sidebar.collapsed{width:var(--sidebar-col)}
.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-group-label,.sidebar.collapsed .sidebar-app-name{opacity:0;pointer-events:none;width:0;overflow:hidden}
.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 12px;border-bottom:1px solid var(--border);min-height:var(--topbar-h);flex-shrink:0}
.sidebar-logo{display:flex;align-items:center;gap:10px;overflow:hidden;white-space:nowrap}
.sidebar-app-name{font-size:.88rem;font-weight:700;color:var(--text);white-space:nowrap;transition:opacity var(--transition)}
.sidebar-toggle{background:none;border:none;color:var(--text3);cursor:pointer;padding:6px;border-radius:6px;display:flex;flex-shrink:0;transition:color var(--transition),background var(--transition)}
.sidebar-toggle:hover{color:var(--text);background:var(--bg3)}
.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 8px 16px;scrollbar-width:thin;scrollbar-color:var(--bg4) transparent}
.sidebar-nav::-webkit-scrollbar{width:4px}
.sidebar-nav::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:4px}
.nav-group-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text3);padding:12px 8px 4px;white-space:nowrap;overflow:hidden}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);color:var(--text2);font-size:.84rem;white-space:nowrap;transition:background var(--transition),color var(--transition);position:relative;cursor:pointer;margin-bottom:2px}
.nav-item:hover{background:var(--bg3);color:var(--text)}
.nav-item.active{background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(139,92,246,.08));color:var(--accent);font-weight:500}
body.light .nav-item.active{background:rgba(99,102,241,.1)}
.nav-item.active .nav-icon,.nav-item:hover .nav-icon{color:inherit}
.nav-icon{display:flex;flex-shrink:0;color:var(--text3)}
.nav-label{overflow:hidden;text-overflow:ellipsis}
.sidebar.collapsed .nav-item::after{content:attr(data-label);position:absolute;left:calc(var(--sidebar-col) + 8px);background:var(--bg2);color:var(--text);padding:6px 12px;border-radius:8px;font-size:.82rem;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:300;border:1px solid var(--border2);box-shadow:var(--card-shadow)}
.sidebar.collapsed .nav-item:hover::after{opacity:1}

/* MAIN */
.main-content{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--transition)}
.main-content.expanded{margin-left:var(--sidebar-col)}

/* TOPBAR */
.topbar{height:var(--topbar-h);background:var(--bg2);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:100}
.topbar-left{display:flex;align-items:center;gap:14px}
.menu-btn{background:none;border:none;color:var(--text3);cursor:pointer;padding:7px;border-radius:8px;display:flex;transition:color var(--transition),background var(--transition)}
.menu-btn:hover{color:var(--text);background:var(--bg3)}
.breadcrumb{display:flex;align-items:center;gap:6px;color:var(--text3);font-size:.82rem}
.breadcrumb-home{display:flex}
.breadcrumb-sep{opacity:.4}
.breadcrumb-current{color:var(--text2);font-weight:500}
.topbar-right{display:flex;align-items:center;gap:8px}
.theme-toggle{background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:7px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text3);transition:all var(--transition)}
.theme-toggle:hover{color:var(--text);background:var(--bg4)}
.icon-btn{background:none;border:none;color:var(--text3);cursor:pointer;padding:8px;border-radius:8px;display:flex;position:relative;transition:color var(--transition),background var(--transition)}
.icon-btn:hover{color:var(--text);background:var(--bg3)}
.notif-badge{position:absolute;top:4px;right:4px;width:16px;height:16px;background:var(--danger);border-radius:50%;font-size:.6rem;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg2)}
.user-menu{position:relative}
.user-btn{display:flex;align-items:center;gap:8px;background:var(--bg3);border:1px solid var(--border2);border-radius:10px;padding:6px 10px;cursor:pointer;color:var(--text);transition:background var(--transition),border-color var(--transition)}
.user-btn:hover{background:var(--bg4);border-color:var(--accent)}
.user-avatar{width:30px;height:30px;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff;flex-shrink:0}
.user-info{text-align:left}
.user-name{display:block;font-size:.82rem;font-weight:600;line-height:1.2;color:var(--text)}
.user-role{display:block;font-size:.7rem;color:var(--text3)}
.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg2);border:1px solid var(--border2);border-radius:12px;min-width:210px;box-shadow:var(--card-shadow);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity var(--transition),transform var(--transition);z-index:300}
.user-dropdown.open{opacity:1;pointer-events:all;transform:translateY(0)}
.dropdown-header{display:flex;align-items:center;gap:10px;padding:14px 14px 12px}
.user-avatar-lg{width:36px;height:36px;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:#fff}
.dropdown-name{font-size:.88rem;font-weight:600;color:var(--text)}
.dropdown-role{font-size:.75rem;color:var(--text3)}
.dropdown-divider{height:1px;background:var(--border);margin:0 8px}
.dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 14px;color:var(--text2);font-size:.85rem;transition:background var(--transition),color var(--transition)}
.dropdown-item:hover{background:var(--bg3);color:var(--text)}
.dropdown-item.danger{color:var(--danger)}
.dropdown-item.danger:hover{background:rgba(239,68,68,.1)}
.dropdown-item:last-child{border-radius:0 0 12px 12px}

/* PAGE */
.page-content{flex:1;padding:30px;overflow-x:hidden}
.page-header{margin-bottom:28px}
.page-title{font-size:1.6rem;font-weight:700;color:var(--text)}
.page-subtitle{font-size:.9rem;color:var(--text3);margin-top:4px}

/* BENTO GRID */
.bento{display:grid;gap:20px;grid-template-columns:repeat(12,1fr)}
.bento-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:26px;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition),background var(--transition);position:relative;overflow:hidden}
.bento-card:hover{border-color:var(--border2);transform:translateY(-2px);box-shadow:0 6px 28px rgba(0,0,0,0.35)}
.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}
.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}
.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-12{grid-column:span 12}
.row-2{grid-row:span 2}
.bento-card.accent-purple{background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(139,92,246,.05));border-color:rgba(99,102,241,.22)}
.bento-card.accent-cyan{background:linear-gradient(135deg,rgba(6,182,212,.09),rgba(6,182,212,.03));border-color:rgba(6,182,212,.18)}
.bento-card.accent-green{background:linear-gradient(135deg,rgba(16,185,129,.09),rgba(16,185,129,.03));border-color:rgba(16,185,129,.18)}
.bento-card.accent-orange{background:linear-gradient(135deg,rgba(245,158,11,.09),rgba(245,158,11,.03));border-color:rgba(245,158,11,.18)}
.bento-card.accent-red{background:linear-gradient(135deg,rgba(239,68,68,.09),rgba(239,68,68,.03));border-color:rgba(239,68,68,.18)}
body.light .bento-card.accent-purple{background:rgba(99,102,241,.06)}
body.light .bento-card.accent-cyan{background:rgba(6,182,212,.06)}
body.light .bento-card.accent-green{background:rgba(16,185,129,.06)}
body.light .bento-card.accent-orange{background:rgba(245,158,11,.06)}
body.light .bento-card.accent-red{background:rgba(239,68,68,.06)}

/* STAT CARD */
.stat-card .stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.stat-card .stat-value{font-size:1.9rem;font-weight:800;margin-bottom:4px;color:var(--text);letter-spacing:-.02em}
.stat-card .stat-label{font-size:.8rem;color:var(--text3);font-weight:500;text-transform:uppercase;letter-spacing:.06em}
.stat-card .stat-change{font-size:.8rem;margin-top:8px;color:var(--text3)}
.stat-card .stat-change.up{color:var(--success)}
.stat-card .stat-change.down{color:var(--danger)}

/* CARD HEADER */
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.card-title{font-size:1rem;font-weight:700;color:var(--text)}

/* BADGES */
.card-badge{font-size:.7rem;padding:3px 8px;border-radius:20px;font-weight:500}
.badge-purple{background:rgba(99,102,241,.15);color:var(--accent)}
.badge-green{background:rgba(16,185,129,.15);color:var(--success)}
.badge-orange{background:rgba(245,158,11,.15);color:#c2710c}
.badge-red{background:rgba(239,68,68,.15);color:var(--danger)}
.badge-blue{background:rgba(59,130,246,.15);color:var(--info)}
body.light .badge-purple{color:#4f46e5}
body.light .badge-green{color:#059669}
body.light .badge-orange{color:#c2710c}
body.light .badge-red{color:#dc2626}
body.light .badge-blue{color:#2563eb}

/* TABLE */
.erp-table{width:100%;border-collapse:collapse}
.erp-table th{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text3);padding:11px 16px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}
.erp-table td{padding:14px 16px;font-size:.9rem;color:var(--text2);border-bottom:1px solid var(--border)}
.erp-table tbody tr:last-child td{border-bottom:none}
.erp-table tbody tr:hover td{background:var(--bg3)}
.erp-table .hidden-row{display:none}
body.light .erp-table th{color:#6b7280}
body.light .erp-table td{color:#374151}
body.light .erp-table tbody tr:hover td{background:#f9fafb}

/* STATUS BADGES */
.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:.78rem;font-weight:500;white-space:nowrap}
.status-badge::before{content:'';width:6px;height:6px;border-radius:50%;flex-shrink:0}
.status-active{background:rgba(16,185,129,.12);color:#059669}
.status-active::before{background:var(--success)}
.status-pending{background:rgba(245,158,11,.12);color:#d97706}
.status-pending::before{background:var(--warning)}
.status-inactive{background:rgba(107,114,128,.12);color:#6b7280}
.status-inactive::before{background:#9ca3af}
.status-danger{background:rgba(239,68,68,.12);color:#dc2626}
.status-danger::before{background:var(--danger)}
body:not(.light) .status-active{color:#6ee7b7}
body:not(.light) .status-pending{color:#fb923c}
body:not(.light) .status-danger{color:#fca5a5}
body:not(.light) .status-inactive{color:var(--text3)}

/* PROGRESS */
.progress-bar{background:var(--bg3);border-radius:99px;height:6px;overflow:hidden;margin-top:4px}
.progress-fill{height:100%;border-radius:99px;transition:width .6s ease}
.fill-purple{background:linear-gradient(90deg,#6366f1,#8b5cf6)}
.fill-green{background:linear-gradient(90deg,#10b981,#059669)}
.fill-cyan{background:linear-gradient(90deg,#06b6d4,#0891b2)}
.fill-orange{background:linear-gradient(90deg,#f59e0b,#d97706)}
.fill-red{background:linear-gradient(90deg,#ef4444,#dc2626)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--radius-sm);font-family:inherit;font-size:.88rem;font-weight:500;cursor:pointer;border:none;transition:all var(--transition);white-space:nowrap}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}
.btn-success{background:var(--success);color:#fff}
.btn-warning{background:var(--warning);color:#111}
.btn-danger{background:var(--danger);color:#fff}
.btn-info{background:var(--info);color:#fff}
.btn-outline{background:transparent;color:var(--text2);border:1px solid var(--border2)}
.btn-outline:hover{background:var(--bg3);color:var(--text)}
.btn-sm{padding:6px 12px;font-size:.82rem;border-radius:6px}
.btn-icon{padding:7px;border-radius:7px}
.btn-ghost{background:none;border:none;color:var(--text3);padding:6px;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.83rem;transition:all var(--transition)}
.btn-ghost:hover{background:var(--bg3);color:var(--text)}

/* INPUTS */
.erp-input,.erp-select,.erp-textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:.92rem;padding:10px 14px;outline:none;transition:border-color var(--transition),background var(--transition);width:100%}
.erp-input:focus,.erp-select:focus,.erp-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,.12)}
.erp-input::placeholder,.erp-textarea::placeholder{color:var(--text4)}
.erp-select{cursor:pointer}
.erp-select option{background:var(--bg2);color:var(--text)}
body.light .erp-select option{background:#fff;color:#111827}
.erp-textarea{resize:vertical;min-height:80px}

/* FORM */
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.form-grid.cols-1{grid-template-columns:1fr}
.form-field label{display:block;font-size:.82rem;color:var(--text3);margin-bottom:6px;font-weight:500}
.form-field.full{grid-column:1/-1}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}
.form-group label{display:block;font-size:.82rem;font-weight:500;color:var(--text2);margin-bottom:6px}

/* MODULE TABS */
.module-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--bg3);padding:4px;border-radius:10px;width:fit-content;flex-wrap:wrap}
.tab-btn{padding:7px 16px;border-radius:7px;border:none;background:transparent;color:var(--text3);font-family:inherit;font-size:.84rem;cursor:pointer;transition:background var(--transition),color var(--transition);white-space:nowrap}
.tab-btn.active{background:var(--bg2);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}
body.light .tab-btn{color:#6b7280}
body.light .tab-btn.active{color:#111827;background:#fff}

/* CHARTS */
.chart-placeholder{height:180px;display:flex;align-items:flex-end;justify-content:space-around;gap:5px;padding:0 4px}
.chart-bar{flex:1;border-radius:4px 4px 0 0;min-width:10px;background:linear-gradient(180deg,var(--accent),rgba(99,102,241,.2));transition:opacity .2s,height .6s ease;cursor:pointer}
.chart-bar:hover{opacity:.75}

/* AVATAR */
.avatar{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.78rem;color:#fff;flex-shrink:0}
.avatar.sm{width:26px;height:26px;font-size:.68rem;border-radius:6px}
.avatar.lg{width:48px;height:48px;font-size:1rem;border-radius:12px}

/* QUICK ACTIONS */
.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.quick-action{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 10px;border-radius:12px;background:var(--bg3);border:1px solid var(--border);cursor:pointer;text-align:center;transition:background var(--transition),border-color var(--transition);text-decoration:none;color:var(--text2)}
.quick-action:hover{background:rgba(99,102,241,.08);border-color:rgba(99,102,241,.25);color:var(--text)}
.qa-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.qa-label{font-size:.78rem;font-weight:500;line-height:1.3;color:var(--text2)}
.quick-action:hover .qa-label{color:var(--text)}

/* NOTIF */
.notif-item{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}
.notif-item:last-child{border-bottom:none}
.notif-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:5px}
.notif-text{font-size:.86rem;color:var(--text2);line-height:1.45}
.notif-time{font-size:.76rem;color:var(--text3);margin-top:3px}

/* MODULE HERO */
.module-hero{background:linear-gradient(135deg,rgba(99,102,241,.08),rgba(139,92,246,.04));border:1px solid rgba(99,102,241,.18);border-radius:var(--radius);padding:28px 30px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
body.light .module-hero{background:rgba(99,102,241,.05);border-color:rgba(99,102,241,.15)}
.module-hero-icon{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;color:#fff;margin-right:16px;flex-shrink:0}

/* ======= MODAL ======= */
.modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{background:var(--bg2);border:1px solid var(--border2);border-radius:20px;width:100%;max-width:800px;max-height:92vh;overflow-y:auto;box-shadow:0 24px 70px rgba(0,0,0,.55);transform:translateY(20px) scale(.97);transition:transform .25s ease;scrollbar-width:thin;scrollbar-color:var(--bg4) transparent}
.modal-overlay.open .modal{transform:translateY(0) scale(1)}
.modal.modal-lg{max-width:1000px}
.modal.modal-sm{max-width:580px}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 18px;border-bottom:1px solid var(--border)}
.modal-title{font-size:1.05rem;font-weight:700;color:var(--text)}
.modal-close{width:32px;height:32px;border-radius:8px;background:none;border:none;color:var(--text3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all var(--transition)}
.modal-close:hover{background:var(--bg3);color:var(--text)}
.modal-body{padding:24px 28px}
.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:18px 28px 24px;border-top:1px solid var(--border)}
.confirm-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.confirm-text{text-align:center;margin-bottom:8px;color:var(--text);font-weight:600;font-size:1rem}
.confirm-sub{text-align:center;color:var(--text3);font-size:.85rem}

/* ======= TOAST ======= */
#toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{display:flex;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--border2);color:var(--text);padding:12px 16px;border-radius:12px;font-size:.85rem;box-shadow:var(--card-shadow);opacity:0;transform:translateX(20px);transition:opacity .25s,transform .25s;pointer-events:all;min-width:260px;max-width:380px}
.toast.show{opacity:1;transform:translateX(0)}
.toast-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.toast-success{border-left:3px solid var(--success)}.toast-success .toast-icon{background:rgba(16,185,129,.2);color:var(--success)}
.toast-error{border-left:3px solid var(--danger)}.toast-error .toast-icon{background:rgba(239,68,68,.2);color:var(--danger)}
.toast-warning{border-left:3px solid var(--warning)}.toast-warning .toast-icon{background:rgba(245,158,11,.2);color:var(--warning)}
.toast-info{border-left:3px solid var(--accent)}.toast-info .toast-icon{background:rgba(99,102,241,.2);color:var(--accent)}

/* INFO ROW */
.info-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border)}
.info-row:last-child{border-bottom:none}
.info-key{font-size:.82rem;color:var(--text3)}
.info-val{font-size:.82rem;font-weight:500;color:var(--text)}

/* ROW ACTIONS */
.row-actions{display:flex;gap:4px}

/* EMPTY STATE */
.empty-state{text-align:center;padding:40px 20px;color:var(--text3)}
.empty-state p{font-size:.88rem}

/* SCROLLBAR */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:6px}

/* ── Mobil sidebar overlay ── */
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:390}
.sidebar-overlay.active{display:block}

/* RESPONSIVE */
@media(max-width:1400px){.col-3{grid-column:span 4}}
@media(max-width:1200px){.col-3{grid-column:span 6}.col-4{grid-column:span 6}.col-5{grid-column:span 6}.col-7{grid-column:span 6}}
@media(max-width:900px){.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-12{grid-column:1/-1}.form-grid,.form-grid.cols-3{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}}

/* ── 768px — Tablet ── */
@media(max-width:768px){
  .sidebar{transform:translateX(-100%);width:262px!important;z-index:400}
  .sidebar.mobile-open{transform:translateX(0)}
  .main-content{margin-left:0!important}
  .page-content{padding:14px}
  .page-title{font-size:1.25rem}
  .bento{gap:12px}
  .col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-12{grid-column:1/-1}
  .row-2{grid-row:span 1}
  .stat-card .stat-value{font-size:1.5rem}
  .erp-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .modal{width:calc(100vw - 24px);max-width:100%;margin:0}
  .modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}
  .topbar{padding:0 12px}
  .user-info{display:none}
  .user-btn{gap:4px;padding:5px 8px}
  .topbar-right{gap:4px}
  .quick-actions{grid-template-columns:repeat(3,1fr)}
  .module-hero{padding:16px 18px}
  .form-grid,.form-grid.cols-3{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}

/* ── 375px — Telefon ── */
@media(max-width:430px){
  .page-content{padding:10px}
  .bento{gap:8px}
  .bento-card{padding:14px}
  .page-title{font-size:1.1rem}
  .page-subtitle{font-size:.75rem}
  .page-header{margin-bottom:14px}
  .stat-card .stat-icon{width:38px;height:38px;border-radius:10px;margin-bottom:8px}
  .stat-card .stat-value{font-size:1.25rem}
  .stat-card .stat-label{font-size:.7rem}
  .card-title{font-size:.88rem}
  .card-header{margin-bottom:12px;gap:6px}
  .chart-placeholder{height:110px;gap:2px}
  .quick-actions{grid-template-columns:repeat(3,1fr);gap:6px}
  .quick-action{padding:10px 4px;gap:5px}
  .qa-icon{width:32px;height:32px;border-radius:8px}
  .qa-label{font-size:.68rem}
  .erp-table th{padding:7px 8px;font-size:.68rem}
  .erp-table td{padding:9px 8px;font-size:.8rem}
  .topbar{padding:0 10px;height:52px}
  .breadcrumb{display:none}
  .btn{padding:7px 12px;font-size:.82rem}
  .btn-sm{padding:5px 9px;font-size:.76rem}
  .module-hero{padding:12px 14px;gap:10px}
  .module-hero-icon{width:40px;height:40px;border-radius:10px;margin-right:8px}
  .module-tabs{flex-wrap:nowrap;overflow-x:auto;width:100%;gap:2px;padding:3px}
  .tab-btn{padding:5px 10px;font-size:.76rem;white-space:nowrap}
  .notif-badge{width:14px;height:14px;font-size:.55rem}
}

/* ── Toggle Switch ── */
.toggle-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}
.toggle-switch input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg4);border-radius:24px;transition:.3s}
.toggle-slider:before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.3s}
.toggle-switch input:checked + .toggle-slider{background:var(--accent)}
.toggle-switch input:checked + .toggle-slider:before{transform:translateX(18px)}
body.light .toggle-slider{background:#d1d5db}
body.light .toggle-switch input:checked + .toggle-slider{background:var(--accent)}

/* ── Small Icon Buttons ── */
.btn-icon-sm{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border2);border-radius:6px;background:var(--bg3);color:var(--text3);cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}
.btn-icon-sm:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-icon-sm.btn-icon-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}
body.light .btn-icon-sm{background:#f3f4f6;border-color:#d1d5db;color:#6b7280}
body.light .btn-icon-sm:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
body.light .btn-icon-sm.btn-icon-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}
