:root{--bg: #f6f7fb;--background: #f9fafb;--card: #ffffff;--border: #e5e7eb;--text: #111827;--muted: #6b7280;--primary: #2563eb;--primary-600: #1d4ed8;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--sidebar: #1f2937;--sidebar-hover: #374151}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}.container{max-width:none;width:100%;margin:0;padding:8px 12px}.navbar{background:var(--card);border-bottom:1px solid var(--border)}.navbar-inner{display:flex;align-items:center;gap:16px;height:56px}.navbar a{color:var(--text);text-decoration:none}.layout{display:flex;height:calc(100vh - 56px)}.sidebar{width:240px;background:var(--sidebar);color:#fff;overflow-y:auto}.sidebar-header{padding:20px 16px;border-bottom:1px solid #374151}.sidebar-nav{padding:16px 0}.sidebar-item{display:block;padding:12px 16px;color:#d1d5db;text-decoration:none;border-left:3px solid transparent;cursor:pointer}.sidebar-item:hover{background:var(--sidebar-hover);color:#fff}.sidebar-item.active{background:var(--sidebar-hover);color:#fff;border-left-color:var(--primary)}.sidebar-item i{margin-right:8px;width:16px}.main-content{flex:1;padding:16px 4px;overflow-y:auto;max-width:none;margin:0}.page-header{text-align:left;margin-bottom:32px}.page-header h1{font-size:28px;font-weight:700;margin:0 0 8px;color:var(--text)}.page-header p{font-size:16px;color:var(--muted);margin:0}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;box-shadow:0 1px 2px #1018280a}.card+.card{margin-top:12px}.h1{font-size:20px;font-weight:700;margin:0 0 8px}.h2{font-size:16px;font-weight:600;margin:0 0 8px;color:var(--muted)}.form{display:grid;gap:10px}.textarea{min-height:96px;resize:vertical}.checkbox{display:inline-flex;gap:8px;align-items:center;color:var(--muted)}.helper{color:var(--muted);font-size:12px}.error{color:var(--danger);font-size:13px}.success{color:var(--success);font-size:13px}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s;justify-content:center}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-600)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--background)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:4px 8px;font-size:12px}.input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:border-color .2s}.input:focus{border-color:var(--primary);outline:none}.select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;font-size:14px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.table th{background:#f8fafc;font-weight:600;color:var(--text);font-size:14px}.table td{font-size:14px}.badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.role-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.role-badge.super_admin{background:#fef3c7;color:#92400e}.role-badge.client{background:#dbeafe;color:#1e40af}.role-badge.designer{background:#d1fae5;color:#065f46}.role-badge.printer{background:#f3e8ff;color:#7c3aed}.role-badge.dispatcher{background:#fce7f3;color:#be185d}.status-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.approved{background:#d1fae5;color:#065f46}.status-badge.rejected{background:#fee2e2;color:#991b1b}.status-badge.suspended{background:#f3f4f6;color:#374151}.badge,.role-badge,.status-badge{white-space:nowrap;display:inline-block}.table-container{overflow-x:auto;border-radius:8px;border:1px solid var(--border);width:100%;margin:0 2px;background:#fff;box-shadow:0 1px 3px #0000001a}.table tbody tr:hover{background-color:#f8fafc}.stats-grid{justify-content:flex-start}
