:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e5eefb;background:#0b1222;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 50% 0%,rgba(56,189,248,.08),transparent 36rem),#0b1222}input,textarea,button{font:inherit}a{color:#38bdf8}.portal-shell{min-height:100vh;background:radial-gradient(circle at top center,rgba(56,189,248,.08),transparent 34rem),#0b1222;color:#e5eefb;display:flex;justify-content:center;padding:84px 18px 36px}.portal-frame{width:100%;max-width:620px;display:flex;flex-direction:column;align-items:center}.portal-brand{text-align:center;margin-bottom:34px}.portal-logo{margin:0;color:#38bdf8;font-size:35px;line-height:1;font-weight:800;letter-spacing:-.045em}.portal-subtitle{margin:10px 0 0;color:#8aa4c7;font-size:16px}.portal-legal{margin-top:14px;color:#38bdf8;font-size:14px;font-weight:700}.portal-property{margin-top:8px;color:#9bb0ce;font-size:13px}.hakker-card{width:100%;max-width:620px;background:#1d293b;border:1px solid rgba(148,163,184,.22);border-radius:16px;padding:36px;box-shadow:0 24px 70px #00000047,inset 0 1px #ffffff08}.hakker-card h1{margin:0 0 22px;color:#f8fafc;font-size:26px;line-height:1.15;letter-spacing:-.03em}.form-intro{margin:-8px 0 24px;color:#9bb0ce;font-size:15px;line-height:1.45}.form-field{display:block;margin-bottom:18px}.form-label{display:block;color:#9bb0ce;font-size:14px;margin-bottom:8px}.form-input,.form-textarea{width:100%;background:#0b1222;border:1px solid #34445f;border-radius:10px;padding:13px 15px;color:#f8fafc;font-size:15px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.form-input:focus,.form-textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf829}.form-textarea{min-height:132px;resize:vertical}.primary-button{width:100%;border:none;border-radius:10px;padding:14px 18px;cursor:pointer;background:#38bdf8;color:#07111f;font-weight:800;font-size:16px;transition:transform .12s ease,background .12s ease,opacity .12s ease}.primary-button:hover:not(:disabled){background:#45c6ff;transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.62}.attachment-panel{border:1px dashed #40516c;border-radius:14px;padding:20px;margin:22px 0;background:#0f172ab8}.attachment-panel h3{margin:0 0 12px;color:#dcecff;font-size:15px;letter-spacing:.01em}.attachment-copy{margin:0 0 16px;color:#8fa6c6;font-size:13px;line-height:1.45}.attachment-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.attachment-picker{display:flex;min-height:74px;align-items:center;justify-content:center;border-radius:12px;background:#0d172a;border:1px solid #24539f;color:#38bdf8;cursor:pointer;font-weight:800;text-align:center;transition:border-color .15s ease,background .15s ease,transform .12s ease}.attachment-picker:hover{background:#13213a;border-color:#38bdf8;transform:translateY(-1px)}.attachment-files{background:#09111f;border:1px solid #26364f;border-radius:12px;padding:12px;margin-top:14px}.attachment-files strong{color:#f8fafc}.attachment-files ul{margin:10px 0;color:#9bb0ce;font-size:13px;padding-left:18px}.clear-button{background:transparent;border:1px solid #34445f;color:#dbeafe;border-radius:8px;padding:7px 11px;cursor:pointer}.attachment-limits{margin:12px 0 0;color:#7c8fad;font-size:12px;line-height:1.4;text-align:center}.error-message{color:#f87171;font-size:13px;margin:0 0 16px}.confirmation-card{text-align:center}.ticket-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#1e4f8f;color:#9de1ff;font-size:13px;padding:8px 15px;margin-bottom:28px}.ticket-number{margin:0 0 22px;color:#38bdf8;font-size:48px;line-height:1;font-weight:900;letter-spacing:.03em}.confirmation-copy{color:#a9bdd8;font-size:16px;line-height:1.45;margin-bottom:14px}.upload-success{color:#86efac;font-weight:700;margin-bottom:28px}.upload-results{text-align:left;background:#09111f;border:1px solid #26364f;border-radius:12px;padding:14px;margin-bottom:22px}.signout-link{display:inline-block;margin-top:18px;font-size:14px}.portal-footer{margin-top:28px;text-align:center;color:#7d91ae;font-size:12px}.portal-footer strong{display:block;color:#38bdf8;margin-bottom:6px;font-size:13px}@media (max-width: 640px){.portal-shell{padding-top:42px}.portal-logo{font-size:32px}.hakker-card{padding:26px 20px}.attachment-actions{grid-template-columns:1fr}.ticket-number{font-size:38px}}.ticket-detail-box,.ticket-description-box,.attachment-status-box{background:#09111f;border:1px solid #26364f;border-radius:12px;padding:14px;margin-bottom:18px}.ticket-detail-row{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid rgba(148,163,184,.14)}.ticket-detail-row:last-child{border-bottom:none}.ticket-detail-row span{color:#8aa4c7}.ticket-detail-row strong{color:#f8fafc;text-align:right}.ticket-description-box strong,.attachment-status-box strong{color:#f8fafc}.ticket-description-box p{color:#a9bdd8;line-height:1.5;margin-bottom:0}.attachment-status-list{list-style:none;margin:14px 0 0;padding:0}.attachment-status-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid rgba(148,163,184,.14)}.attachment-status-list li:last-child{border-bottom:none}.attachment-status-list small{display:block;color:#8aa4c7;margin-top:4px}.scan-badge{flex:0 0 auto;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;text-transform:uppercase;border:1px solid rgba(255,255,255,.12)}.scan-pending{color:#fde68a;background:#eab3081f}.scan-clean{color:#86efac;background:#22c55e1f}.scan-needs_review{color:#93c5fd;background:#3b82f624}.scan-rejected{color:#fca5a5;background:#ef444424}@media (max-width: 640px){.ticket-detail-row{flex-direction:column;gap:4px}.ticket-detail-row strong{text-align:left}.attachment-status-list li{align-items:flex-start;flex-direction:column}}body{margin:0;min-height:100vh;background:#07111f}#root{min-height:100vh;width:100%}.portal-shell,main,.app,.app-shell{width:100%}#root>div{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 20px;box-sizing:border-box}.card,form,[class*=Card]{max-width:620px}
