:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#24245a;background:#f6f6fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.loading-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f6f4fc,#eef0fa);color:#5657a7;font-weight:700}.login-page{min-height:100vh;display:grid;place-items:center;padding:32px;position:relative;overflow:hidden;background:radial-gradient(circle at 10% 10%,#e5e3f6 0,transparent 30%),radial-gradient(circle at 90% 80%,#e5e6f8 0,transparent 28%),#f7f7fc}.login-page:before{content:"";position:absolute;top:-15%;right:-15%;bottom:-15%;left:-15%;background:url(/alteknetworks-logo.png) center/720px auto repeat;opacity:.035;transform:rotate(-14deg);pointer-events:none}.login-card{width:min(520px,100%);position:relative;z-index:1;background:#fff;border:1px solid #e7e9f0;border-radius:24px;box-shadow:0 24px 70px #24244d18;padding:38px}.login-brand{display:flex;justify-content:center;margin-bottom:32px}.brand-logo{max-width:390px;width:100%;height:auto;object-fit:contain}.brand-logo.compact{width:250px;max-width:250px}.login-copy{text-align:center}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#5657a7}.login-copy h1,.hero-card h1,.page-head h1{font-size:clamp(30px,4vw,44px);line-height:1.08;margin:10px 0 14px;color:#20204a}.login-copy p,.hero-card p,.page-head p{color:#66678a;line-height:1.7;margin:0 0 24px}.primary-button,.secondary-button{border:0;border-radius:10px;padding:12px 18px;font-weight:800;transition:.2s}.primary-button{background:linear-gradient(135deg,#5657a7,#696ac0);color:#fff;box-shadow:0 8px 20px #5657a733}.primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 26px #5657a744}.primary-button:disabled{opacity:.65;cursor:wait}.primary-button.full{width:100%;padding:14px}.secondary-button{background:#fff;color:#5657a7;border:1px solid #d5d5ea}.secondary-button:hover{background:#f7f7fd}.security-note{display:none;text-align:center;color:#8586a0;font-size:12px;margin-top:18px}.login-form{margin-top:24px}.login-form label{display:flex;flex-direction:column;gap:8px;text-align:left;font-size:13px;font-weight:800;color:#334155;margin-bottom:17px}.login-form input{width:100%;border:1px solid #d0d1e6;border-radius:10px;padding:13px 14px;color:#24244d;background:#fff;outline:none;transition:.2s}.login-form input:focus{border-color:#5657a7;box-shadow:0 0 0 3px #5657a722}.password-field{position:relative}.password-field input{padding-right:68px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#5657a7;font-size:12px;font-weight:800;padding:7px}.login-error{margin:18px 0 0;padding:11px 13px;border-radius:10px;background:#f5f0f5;color:#6b4f66;border:1px solid #ded0e0;font-size:13px;line-height:1.5;text-align:left}.security-note span{color:#16a34a}.app-shell{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden;background:#f6f6fb}.app-shell:before{content:"";position:fixed;top:-15%;right:-15%;bottom:-15%;left:-15%;background:url(/alteknetworks-logo.png) center/720px auto repeat;opacity:.035;transform:rotate(-14deg);pointer-events:none;z-index:0}.topbar,.content,footer{position:relative;z-index:1}.topbar{background:#fffffff5;border-bottom:1px solid #dedff0;position:sticky;top:0;z-index:20}.topbar-inner{max-width:1280px;margin:auto;min-height:76px;padding:10px 24px;display:flex;align-items:center;gap:28px}.topbar nav{display:flex;gap:6px;flex:1}.topbar nav button{background:transparent;border:0;padding:10px 12px;color:#66678a;font-weight:700;border-radius:8px}.topbar nav button:hover,.topbar nav .nav-active{color:#5657a7;background:#ececf8}.user-menu{display:flex;align-items:center;gap:18px}.user-menu div{display:flex;flex-direction:column;text-align:right}.user-menu strong{font-size:13px;color:#24244d}.user-menu span{font-size:11px;color:#8586a0}.user-menu button{border:1px solid #d8d9e8;background:#fff;color:#4d4e75;border-radius:8px;padding:8px 12px}.content{width:min(1280px,100%);margin:0 auto;padding:32px 24px 48px;flex:1}.hero-card{background:linear-gradient(135deg,#3c3d78,#5657a7 55%,#696ac0);color:#fff;border-radius:24px;padding:38px 42px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;box-shadow:0 20px 50px #5657a71f}.hero-card .eyebrow{color:#e0e0f5}.hero-card h1{color:#fff}.hero-card p{color:#e9e9f8;max-width:670px}.hero-art{width:220px;height:180px;display:grid;place-items:center}.orb{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;border:1px solid #ffffff44;background:radial-gradient(circle at 35% 30%,#fff5,#ffffff12 45%,#00000010);font-size:40px;font-weight:900;color:#fff;box-shadow:0 0 60px #fff3}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.stat-card{background:#fff;border:1px solid #e7e9f0;border-radius:16px;padding:20px 22px;display:flex;justify-content:space-between;align-items:end}.stat-card-link{width:100%;text-align:left;cursor:pointer;transition:.2s}.stat-card-link:hover{border-color:#bdbde1;box-shadow:0 8px 24px #30316d12;transform:translateY(-1px)}.stat-card-link:focus-visible{outline:3px solid #5657A744;outline-offset:2px}.dashboard-loading{margin-top:18px}.stat-card span{font-size:13px;color:#66678a}.stat-card strong{font-size:30px;color:#5657a7}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:36px 0 16px}.section-head h2{margin:6px 0 0;font-size:24px}.text-button{border:0;background:none;color:#5657a7;font-weight:800}.page-head{align-items:flex-start}.page-head h1{margin-top:8px}.page-head p{margin-bottom:0}.empty-card,.table-card,.form-card{background:#fff;border:1px solid #e7e9f0;border-radius:16px;box-shadow:0 8px 30px #30316d0d}.empty-card{padding:44px;text-align:center;color:#66678a}.empty-card h3{color:#24244d;margin-top:0}.table-card{overflow:auto}.ticket-table{min-width:1180px}.table-row{display:grid;grid-template-columns:120px minmax(210px,1.8fr) minmax(155px,1.25fr) minmax(165px,1.35fr) 100px 125px minmax(155px,1.25fr) minmax(165px,1.35fr);gap:14px;align-items:center;padding:15px 18px;border-top:1px solid #e8e8f2;font-size:13px}.table-head{border-top:0;background:#fafafd;color:#66678a;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.table-row strong{display:block;color:#24244d}.table-row small{display:block;color:#8586a0;margin-top:4px}.ticket-id{font-weight:900;color:#5657a7}.priority,.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.priority.low{background:#eff0f8;color:#4d4e75}.priority.medium{background:#eef0f9;color:#45468d}.priority.high{background:#f4f0fa;color:#5a5b8e}.priority.critical{background:#f5f0f5;color:#6b4f66}.status.open{background:#eef0f9;color:#45468d}.status.acknowledged{background:#f4f0fa;color:#5657a7}.status.in-progress{background:#f5f3ff;color:#5657a7}.status.pending-customer{background:#f4f0fa;color:#5a5b8e}.status.resolved,.status.closed{background:#eff0f8;color:#4d4e75}.table-row select{border:1px solid #d0d1e6;border-radius:7px;padding:7px;background:#fff;color:#334155}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 18px}.filter-row button{border:1px solid #d0d1e6;background:#fff;border-radius:999px;padding:8px 13px;color:#66678a;font-size:12px;font-weight:800}.filter-row .filter-active{background:#eeeef9;border-color:#bdbde1;color:#5657a7}.form-card{padding:28px}.form-grid{display:grid;grid-template-columns:2fr 1.3fr 1fr;gap:18px}.form-card label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:800;color:#334155;margin-bottom:18px}.form-card input,.form-card select,.form-card textarea{width:100%;border:1px solid #d0d1e6;border-radius:10px;padding:12px 13px;color:#24244d;background:#fff;outline:none}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:#5657a7;box-shadow:0 0 0 3px #5657a722}.form-card textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px}.notice,.error-banner{padding:12px 15px;border-radius:10px;margin-bottom:16px;font-size:13px;display:flex;justify-content:space-between;align-items:center}.notice{background:#eff0f8;color:#4d4e75;border:1px solid #d6d6ea}.error-banner{background:#f5f0f5;color:#6b4f66;border:1px solid #ded0e0}.notice button,.error-banner button{border:0;background:none;color:inherit;font-size:18px}footer{text-align:center;padding:22px;color:#8586a0;font-size:11px;border-top:1px solid #dedff0;background:#fff}@media (max-width:900px){.topbar-inner{flex-wrap:wrap;gap:10px}.topbar nav{order:3;width:100%;overflow:auto}.user-menu{margin-left:auto}.hero-card{padding:30px}.hero-art{display:none}.stats-grid,.form-grid{grid-template-columns:1fr}}@media (max-width:600px){.app-shell:before{background-size:460px auto}.brand-logo.compact{width:205px}.content{padding:22px 15px 36px}.topbar-inner{padding:10px 15px}.brand-logo.compact{width:175px}.user-menu div{display:none}.hero-card{padding:26px;border-radius:18px}.login-card{padding:28px 22px;border-radius:18px}.section-head{align-items:flex-start;flex-direction:column}.page-head{flex-direction:column}.primary-button{width:auto}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.ticket-row-selected{background:#f5f5fc}.ticket-action-cell{white-space:nowrap}.small-button{padding:8px 12px;font-size:12px}.ticket-processing-card{margin-top:18px;background:#fff;border:1px solid #dfe0ee;border-radius:18px;box-shadow:0 12px 35px #30316d12;padding:24px}.ticket-processing-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.ticket-processing-head h2{margin:7px 0 8px;color:#24244d;font-size:22px}.ticket-processing-head p{margin:0;color:#66678a;font-size:13px}.ticket-processing-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.ticket-processing-meta>div{background:#f8f8fc;border:1px solid #e7e9f0;border-radius:12px;padding:13px}.ticket-processing-meta span{display:block;color:#8586a0;font-size:11px;margin-bottom:5px}.ticket-processing-meta strong{display:block;color:#24244d;font-size:12px;word-break:break-word}.ticket-processing-description{border-top:1px solid #e8e8f2;border-bottom:1px solid #e8e8f2;padding:18px 0}.processing-label{display:block;color:#5657a7;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:8px}.ticket-processing-description p{margin:0;color:#4d4e75;line-height:1.7;white-space:pre-wrap}.ticket-processing-form{display:grid;grid-template-columns:180px 220px 1fr;gap:16px;margin-top:20px}.ticket-processing-form label{display:flex;flex-direction:column;gap:8px;color:#334155;font-size:13px;font-weight:800}.ticket-processing-form select,.ticket-processing-form textarea{border:1px solid #d0d1e6;border-radius:10px;padding:11px 12px;color:#24244d;background:#fff;outline:none}.ticket-processing-form select:focus,.ticket-processing-form textarea:focus{border-color:#5657a7;box-shadow:0 0 0 3px #5657a722}.ticket-processing-form textarea{resize:vertical}.ticket-comments{margin-top:20px}.comment-item{border:1px solid #e7e9f0;border-radius:12px;padding:12px 14px;margin-top:10px;background:#fafafd}.comment-item>div{display:flex;justify-content:space-between;gap:12px}.comment-item strong{font-size:12px;color:#24244d}.comment-item small{font-size:10px;color:#8586a0}.comment-item p{margin:8px 0 0;color:#4d4e75;font-size:13px;line-height:1.6;white-space:pre-wrap}.ticket-processing-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.close-ticket-button{background:linear-gradient(135deg,#4d4e75,#5657a7)}@media (max-width:900px){.ticket-processing-meta{grid-template-columns:repeat(2,1fr)}.ticket-processing-form{grid-template-columns:1fr}.ticket-processing-head{flex-direction:column}.ticket-processing-actions{flex-wrap:wrap}}@media (max-width:600px){.ticket-processing-card{padding:18px}.ticket-processing-meta{grid-template-columns:1fr}.ticket-processing-actions{flex-direction:column}.ticket-processing-actions button{width:100%}}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.attachment-box{margin-top:20px;border:1px solid #e7e9f0;border-radius:12px;padding:16px;background:#fafafd}.attachment-box input[type=file]{display:block;width:100%;margin:8px 0 10px}.selected-files{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.selected-files span{background:#eef0f8;border:1px solid #dfe2ef;border-radius:8px;padding:6px 9px;font-size:11px;color:#4d4e75}.attachment-list{margin-top:12px}.attachment-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-top:1px solid #e7e9f0}.attachment-item span{font-size:12px;color:#334155;word-break:break-all}.closed-ticket-note{margin-top:18px;padding:12px 14px;border-radius:10px;background:#f5f5f8;border:1px solid #dedee8;color:#5d5e76;font-size:12px;font-weight:700}.upload-error{margin-top:10px;padding:10px 12px;border-radius:8px;border:1px solid #e5b7b7;background:#fff5f5;color:#9b1c1c;font-size:13px}.ticket-link{background:none;border:0;padding:0;margin:0;font:inherit;font-weight:800;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.ticket-link:hover{opacity:.75}.login-notice{margin:18px 0 0;padding:11px 13px;border-radius:10px;background:#eef0f9;color:#4d4e75;border:1px solid #d6d6ea;font-size:13px;line-height:1.5;text-align:left}.login-help{font-size:12px!important;color:#777894!important;line-height:1.55!important;margin:12px 0 14px!important;text-align:center!important}.login-secondary-actions{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.login-divider{display:flex;align-items:center;gap:10px;margin:18px 0 12px;color:#9a9bb0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.login-divider:before,.login-divider:after{content:"";height:1px;background:#e5e5ef;flex:1}.approval-status-box{display:flex;flex-direction:column;gap:6px;margin:20px 0;padding:16px;border-radius:12px;background:#f7f7fc;border:1px solid #dedff0;color:#4d4e75}.approval-status-box strong{color:#24244d}.approval-status-box span{font-size:12px;color:#777894}.approval-action-card{grid-column:1 / -1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;border:1px solid #dedff0;border-radius:12px;background:#fafafd}.approval-action-card>div{display:flex;flex-direction:column;gap:4px;flex:1;min-width:240px}.approval-action-card small{color:#777894}.approval-action-card select{min-width:230px}
