/* AttendX Pro License Portal — UX24 Enterprise Sync */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--ax-bg:#eef4f8;--ax-panel:#ffffff;--ax-ink:#0f172a;--ax-muted:#64748b;--ax-line:#d7e2ea;--ax-navy:#0b1e2d;--ax-navy2:#10243a;--ax-cyan:#18b8d8;--ax-blue:#2563eb;--ax-r:22px;--ax-shadow:0 22px 60px rgba(11,30,45,.12);--font:'DM Sans','Cairo',system-ui,sans-serif;}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0%,rgba(24,184,216,.18),transparent 34%),linear-gradient(180deg,#f8fbfd,var(--ax-bg));font-family:var(--font);color:var(--ax-ink);}
.layout{display:flex;min-height:100vh}.sidebar{width:292px;min-height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:radial-gradient(circle at 18% 8%,rgba(24,184,216,.24),transparent 34%),linear-gradient(180deg,#071624,#0b1e2d 60%,#0f172a);border-right:1px solid rgba(255,255,255,.08);box-shadow:12px 0 45px rgba(15,23,42,.14)}
.brand-block{padding:28px 22px 22px;border-bottom:1px solid rgba(255,255,255,.10)}.brand-logo-wrap,.login-logo-wrap{display:flex;align-items:center;gap:14px}.brand-mark,.login-logo-mark{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(37,99,235,.25),rgba(24,184,216,.22));border:1px solid rgba(255,255,255,.14)}.brand-mark img,.login-logo-mark img{width:38px;height:38px}.brand-name,.login-product-name{font-size:24px;font-weight:900;letter-spacing:-.04em;color:#fff}.login-product-name{color:var(--ax-ink)}.brand-name span,.login-product-name span{color:var(--ax-cyan)}.brand-tagline,.login-subtitle{margin-top:10px;color:#9fb3c8;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.brand-badge{display:inline-flex;gap:7px;align-items:center;margin-top:12px;padding:7px 12px;border-radius:999px;background:rgba(24,184,216,.13);border:1px solid rgba(24,184,216,.24);color:#b7f3ff;font-size:12px;font-weight:800}.badge-dot{width:7px;height:7px;border-radius:50%;background:var(--ax-cyan);box-shadow:0 0 12px var(--ax-cyan)}
.nav{flex:1;padding:18px 14px}.nav-section-label{padding:0 10px;margin:16px 0 8px;color:#82a0bc;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.nav a,.sidebar-footer a{display:flex;align-items:center;gap:11px;text-decoration:none;color:#d5e5f5;padding:11px 12px;border-radius:14px;font-size:14px;font-weight:750;margin:3px 0;border:1px solid transparent}.nav a:hover,.sidebar-footer a:hover{background:rgba(255,255,255,.075);color:#fff}.nav a.active{background:linear-gradient(135deg,rgba(37,99,235,.24),rgba(24,184,216,.16));border-color:rgba(24,184,216,.28);color:#fff}.nav-icon{width:20px;text-align:center;color:#7dd3fc}.sidebar-footer{padding:18px;border-top:1px solid rgba(255,255,255,.10)}
.main{flex:1;min-width:0;max-width:none;padding:30px 38px}.topbar,.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.page-title,h1{font-size:30px;line-height:1.1;color:var(--ax-ink);font-weight:900;letter-spacing:-.045em}.page-sub,.muted{color:var(--ax-muted);font-size:14px}.card,.panel,.stat-card,table{background:rgba(255,255,255,.96);border:1px solid var(--ax-line);border-radius:var(--ax-r);box-shadow:var(--ax-shadow)}.card,.panel,.stat-card{padding:22px}.stat-grid,.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:24px}.card strong,.stat-card .val{display:block;font-size:32px;font-weight:900;color:var(--ax-ink);letter-spacing:-.04em}.card span,.stat-card .lbl,label{display:block;color:var(--ax-muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;margin-bottom:24px}th{text-align:left;background:#f6f9fc;color:var(--ax-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:13px 16px;border-bottom:1px solid var(--ax-line)}td{padding:14px 16px;border-bottom:1px solid #edf2f7;color:#1e293b}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbfd}
input,select,textarea{width:100%;border:1px solid var(--ax-line);background:#f8fafc;border-radius:14px;padding:12px 14px;font:inherit;color:var(--ax-ink);outline:0}input:focus,select:focus,textarea:focus{border-color:var(--ax-cyan);box-shadow:0 0 0 4px rgba(24,184,216,.14);background:#fff}button,.btn,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:14px;border:1px solid var(--ax-line);font:inherit;font-weight:900;text-decoration:none;cursor:pointer;background:#fff;color:var(--ax-ink)}button[type=submit],.btn-primary,.btn.primary{background:linear-gradient(135deg,var(--ax-blue),var(--ax-cyan));border-color:transparent;color:#fff;box-shadow:0 12px 25px rgba(37,99,235,.24)}button:hover,.btn:hover{transform:translateY(-1px)}.badge{display:inline-flex;gap:6px;align-items:center;padding:6px 11px;border-radius:999px;font-size:11px;font-weight:900}.badge.active{background:#dcfce7;color:#166534}.badge.suspended{background:#fef3c7;color:#92400e}.badge.revoked,.badge.expired,.badge.danger{background:#fee2e2;color:#991b1b}.badge.blocked{background:#e0f2fe;color:#075985}.alert{padding:13px 16px;border-radius:16px;margin-bottom:16px;font-weight:700}.alert.success{background:#dcfce7;color:#166534}.alert.danger{background:#fee2e2;color:#991b1b}.alert.warning{background:#fef3c7;color:#92400e}.alert.info{background:#dbeafe;color:#1d4ed8}
button.danger,button[class~="danger"]{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.back-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--ax-muted);font-size:13px;font-weight:700;margin-bottom:16px;transition:color .15s}.back-link:hover{color:var(--ax-ink)}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips span{background:#f1f5f9;border:1px solid var(--ax-line);border-radius:99px;padding:4px 11px;font-size:12px;font-weight:700;color:#334155}
.login-outer{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 16% 22%,rgba(24,184,216,.22),transparent 35%),radial-gradient(circle at 82% 75%,rgba(37,99,235,.22),transparent 42%),linear-gradient(135deg,#071624,#0b1e2d 58%,#111827)}.login-card{width:min(440px,calc(100vw - 36px));padding:42px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.22);border-radius:30px;box-shadow:0 34px 90px rgba(0,0,0,.34)}.login-subtitle{color:var(--ax-muted);margin-bottom:24px}.login-divider{height:1px;background:var(--ax-line);margin:22px 0}.login-footer{text-align:center;color:var(--ax-muted);font-size:12px;margin-top:20px}.actions{display:flex;gap:8px;flex-wrap:wrap}.small,code{font-family:ui-monospace,Consolas,monospace;font-size:12px;word-break:break-all}/* Feature Matrix */
.feature-section{margin-top:26px;padding-top:20px;border-top:1px solid var(--ax-line)}
.feature-section-title{display:flex;align-items:center;gap:10px;margin:18px 0 10px}
.feature-section-heading{font-size:14px;font-weight:800;color:var(--ax-ink);text-transform:none;letter-spacing:-.01em}
.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:8px}
.feature-card{display:block;border:1px solid #d9e4ef;border-radius:14px;padding:12px 14px;background:#fff;cursor:pointer;transition:border-color .15s;min-height:70px;text-transform:none!important;letter-spacing:0!important;color:var(--ax-ink);font-size:14px;font-weight:400}
.feature-card:hover{border-color:var(--ax-cyan)}
.feature-card-main{display:flex!important;align-items:flex-start;gap:10px}
.feature-card input[type=checkbox]{width:16px!important;height:16px!important;flex-shrink:0;margin-top:3px;padding:0!important;border-radius:4px!important;background:#fff!important}
.feature-card-body{min-width:0;flex:1;display:block!important;color:var(--ax-ink)!important;font-size:13px!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important}
.feature-card-title{display:block!important;font-size:13px!important;font-weight:800!important;color:#102a43!important;line-height:1.35;text-transform:none!important;letter-spacing:0!important}
.feature-card-note{display:block!important;margin-top:5px;font-size:11px!important;line-height:1.45;color:#64748b!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}
.feature-card-disabled{background:#f8fafc;border-style:dashed;opacity:.82;cursor:default}
.feature-card-disabled:hover{border-color:#d9e4ef}
.feature-card-disabled .feature-card-title{color:#64748b!important}
.feature-badge{display:inline-flex!important;align-items:center;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:10px!important;font-weight:800;letter-spacing:.04em!important;text-transform:uppercase!important;vertical-align:middle}
.feature-badge.available{background:#dcfce7;color:#166534}
.feature-badge.foundation{background:#fef3c7;color:#92400e}
.feature-badge.coming-soon{background:#fee2e2;color:#991b1b}
@media(max-width:1400px){.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.feature-grid{grid-template-columns:1fr}}
@media(max-width:900px){.layout{display:block}.sidebar{width:100%;min-height:auto;position:relative}.main{padding:22px 16px}.nav{display:flex;flex-wrap:wrap}.sidebar-footer{display:none}}

/* Runtime hardening: keep the license feature matrix isolated from global form rules. */
.panel .feature-section{margin-top:26px!important;padding-top:20px!important;border-top:1px solid var(--ax-line)!important}
.panel .feature-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-bottom:8px!important}
.panel .feature-card{display:block!important;background:#fff!important;border:1px solid #d9e4ef!important;border-radius:14px!important;padding:12px 14px!important;min-height:86px!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important;color:var(--ax-ink)!important;font-size:14px!important;font-weight:400!important}
.panel .feature-card:hover{border-color:var(--ax-cyan)!important}
.panel .feature-card-main{display:flex!important;align-items:flex-start!important;gap:10px!important}
.panel .feature-card input[type=checkbox]{width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;padding:0!important;margin:3px 0 0!important;flex:0 0 16px!important;border-radius:4px!important}
.panel .feature-card-body{display:block!important;min-width:0!important;flex:1 1 auto!important;text-transform:none!important;letter-spacing:0!important}
.panel .feature-card-title{display:inline-block!important;font-size:13px!important;font-weight:800!important;color:#102a43!important;text-transform:none!important;letter-spacing:0!important;line-height:1.3!important}
.panel .feature-card-note{display:block!important;margin-top:6px!important;font-size:11px!important;line-height:1.45!important;color:#64748b!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}
.panel .feature-card-disabled{background:#f8fafc!important;border-style:dashed!important;opacity:.82!important;cursor:default!important}
.panel .feature-card-disabled:hover{border-color:#d9e4ef!important}
.panel .feature-badge{display:inline-flex!important;align-items:center!important;margin-left:6px!important;margin-top:4px!important;padding:2px 7px!important;border-radius:999px!important;font-size:10px!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.panel .feature-badge.available{background:#dcfce7!important;color:#166534!important}
.panel .feature-badge.foundation{background:#fef3c7!important;color:#92400e!important}
.panel .feature-badge.coming-soon{background:#fee2e2!important;color:#991b1b!important}
@media(max-width:1400px){.panel .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:1000px){.panel .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.panel .feature-grid{grid-template-columns:1fr!important}}
