:root{--bg: #f4f7f6;--panel: #ffffff;--border: #d1d5db;--text: #111827;--muted: #4b5563;--primary: #2f855a;--primary-soft: #e6f4ee;--primary-dark: #276749;--danger: #b91c1c;--radius: 6px;--shadow: 0 2px 6px rgba(0,0,0,.06);--font-base: 15px;--font-large: 18px;--card-green-bg: #e6f4ee;--card-green-text: #276749;--card-blue-bg: #e8f1fd;--card-blue-text: #1e40af;--card-red-bg: #fdecea;--card-red-text: #b91c1c}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-base);color:var(--text);background:var(--bg)}.app-shell{display:flex;height:100vh}.sidebar{width:220px;background:linear-gradient(180deg,#3a8f6a,#347f61);padding:12px;color:#f0fdf9}.sidebar-header{margin-bottom:24px}.sidebar-header h1{font-size:18px;margin:0;color:#ecfdf5}.env{font-size:12px;color:#c6f6d5}.nav{display:flex;flex-direction:column;gap:6px}.nav-item{padding:8px 10px;border-radius:4px;font-size:14px;color:#ecfdf5}.nav-item.active{background:var(--primary-soft);color:var(--primary-dark);font-weight:600}.nav-item:hover{background:#ffffff1f}.main{flex:1;display:flex;flex-direction:column}.topbar{height:52px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.topbar h2{font-size:var(--font-large);margin:0}.topbar .user{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.role-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.role-badge[data-role=administrator]{background:#e0e7ff;color:#3730a3}.role-badge[data-role=manager]{background:#dcfce7;color:#166534}.role-badge[data-role=user]{background:#f3f4f6;color:#4b5563}.content{padding:16px;overflow:auto}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.card{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px}.card h3{font-size:14px;margin:0;color:var(--muted)}.card.card-green{background-color:var(--card-green-bg);color:var(--card-green-text)}.card.card-blue{background-color:var(--card-blue-bg);color:var(--card-blue-text)}.card.card-red{background-color:var(--card-red-bg);color:var(--card-red-text)}.card-green h3,.card-blue h3,.card-red h3{color:inherit;opacity:.85}.metric{font-size:28px;margin-top:6px;font-weight:600}.metric.danger{color:var(--danger)}.panel{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}table{width:100%;border-collapse:collapse}th,td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left}th{font-size:13px;color:var(--muted)}td{font-size:14px}.badge{padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge.live{background:#dcfce7;color:#166534}.badge.done{background:#e5e7eb;color:#374151}tbody tr:nth-child(2n){background:#f9fafb}tbody tr:hover{background:#e6f4ee;cursor:pointer}tbody tr:hover td:first-child{border-left:3px solid var(--primary);padding-left:7px}.login-bg{height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#2f855a,#3cd68c)}.login-card{width:520px;background:#eefcf5;border-radius:16px;padding:28px 32px 32px;box-shadow:0 10px 30px #00000026}.login-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.login-logo{width:64px;height:64px}.login-title{font-size:32px;font-weight:700;color:#e06b1a;margin:0}.login-subtitle{font-size:14px;color:#22c55e;font-weight:600}.login-card label{display:block;font-size:13px;color:#065f46;margin-bottom:4px}.login-card input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #c7e9da;background:#eaf2ff;font-size:14px}.login-card input:focus{outline:none;border-color:#38c172}.login-error{margin-top:10px;font-size:13px;color:#dc2626}.login-buttons{display:flex;gap:12px;margin-top:20px}.btn-login{flex:1;padding:10px;background:#e06b1a;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-login:hover{background:#ff8c3a}.btn-cancel{flex:1;padding:10px;background:#fff;color:#e06b1a;border:2px solid #e06b1a;border-radius:8px;font-weight:600;cursor:pointer}.sidebar{width:220px;background:#e6f4ef;padding:20px 14px;display:flex;flex-direction:column}.sidebar-title{font-size:18px;font-weight:700;color:#065f46;margin-bottom:24px}.sidebar-menu{display:flex;flex-direction:column;gap:6px}.menu-item{padding:10px 12px;border-radius:6px;text-decoration:none;color:#065f46;font-size:14px;font-weight:600}.menu-item:hover{background:#cce9dd}.menu-item.active{background:#38c172;color:#fff}.sidebar-divider{border-top:1px solid #b2d8c8;margin:10px 0}.header{height:48px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;padding:0 16px}.logout-btn{background:transparent;border:none;color:#e06b1a;font-size:14px;font-weight:600;cursor:pointer}.logout-btn:hover{text-decoration:underline}.header-user{font-size:13px;color:#374151;font-weight:500;display:flex;align-items:center;gap:6px}.activity-list{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.activity-row{display:flex;justify-content:space-between;padding:10px 14px;font-size:14px}.activity-row:nth-child(odd){background:#f9fafb}.activity-row:hover{background:#eefcf5}.activity-time{color:#6b7280;font-size:12px}.activity-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px}.activity-message{display:flex;align-items:center;gap:8px}.activity-time{color:#374151;font-size:12px;white-space:nowrap}.activity-type{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:600}.activity-type.call{background:#dcfce7;color:#166534}.activity-type.error{background:#fee2e2;color:#991b1b}.activity-type.system{background:#e0e7ff;color:#1e3a8a}.cp-field{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.cp-field label{font-size:13px;color:var(--muted);font-weight:500}.cp-field input{padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;background:#fff;color:var(--text);transition:border-color .15s}.cp-field input:focus{outline:none;border-color:var(--primary)}.cp-field input:disabled{background:#f3f4f6;cursor:not-allowed}.cp-hint{font-size:12px;color:var(--muted)}.cp-alert{padding:10px 14px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.cp-alert-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.cp-alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.btn-primary{padding:9px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{padding:9px 20px;background:var(--danger);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.btn-danger:hover:not(:disabled){background:#991b1b}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-sm-outline{padding:5px 12px;background:#fff;color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.btn-sm-outline:hover{background:var(--primary-soft)}.user-form-panel{background:#f8fafb;border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.cp-select{padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;background:#fff;color:var(--text)}.cp-select:focus{outline:none;border-color:var(--primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.phone-tag{display:inline-block;padding:2px 8px;background:#e0e7ff;color:#3730a3;border-radius:10px;font-size:12px;font-weight:500;white-space:nowrap}.modal-content{background:var(--panel);border-radius:12px;box-shadow:0 8px 30px #0000002e;padding:24px 28px;width:420px;max-width:90vw;max-height:90vh;overflow-y:auto}
