:root{--page-bg:#f3f5f7;--panel-bg:#fff;--text:#4f5965;--heading:#17202a;--muted:#6d7784;--border:#d8dde4;--primary:#17456d;--primary-hover:#103655;--focus:#17456d38;--shadow:0 22px 65px #1e293b29;color:var(--text);background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}button,input,select,button{font:inherit}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}#app{min-height:100svh}.login-page{background:linear-gradient(135deg, #1f6f8b1f, transparent 38%), linear-gradient(315deg, #0c5c4b1a, transparent 34%), var(--page-bg);place-items:center;min-height:100svh;padding:32px 18px;display:grid}.portal-app{background:var(--page-bg);grid-template-columns:280px minmax(0,1fr);height:100svh;display:grid;overflow:hidden}.login-panel{border:1px solid var(--border);background:var(--panel-bg);width:min(100%,430px);box-shadow:var(--shadow);border-radius:8px;padding:38px}.wide-panel{width:min(100%,560px)}.brand-mark{background:var(--primary);color:#fff;border-radius:8px;place-items:center;width:48px;height:48px;font-size:24px;font-weight:700;line-height:1;display:grid}.portal-sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;height:100svh;min-height:0;padding:22px;display:flex;overflow:hidden}.portal-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding-bottom:22px;display:flex}.portal-brand strong,.portal-user strong,.data-row strong,.table-row strong,.metric-card strong,.settings-list strong{color:var(--heading)}.portal-brand span,.portal-user span,.data-row span,.table-row span,.metric-card span,.settings-list span{color:var(--muted);font-size:13px}.portal-brand>div:last-child,.portal-user{gap:2px;min-width:0;display:grid}.portal-nav{gap:6px;margin-top:24px;display:grid}.portal-nav button{width:100%;min-height:42px;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;padding:0 12px;font-weight:700}.portal-nav button:hover,.portal-nav button.active{color:var(--primary);background:#eef4f8;border-color:#d7e2ea}.portal-user{border-top:1px solid var(--border);margin-top:auto;padding-top:18px}.portal-main{min-width:0;min-height:0;padding:32px;overflow-y:auto}.portal-header{justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:28px;display:flex}.portal-header h1{font-size:36px}.portal-header button,.panel-heading button{width:auto;min-height:42px;padding:0 16px}.portal-view{gap:22px;display:grid}.metric-grid,.content-grid{gap:16px;display:grid}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card,.work-panel,.table-panel{border:1px solid var(--border);background:#fff;border-radius:8px}.metric-card{gap:8px;padding:20px;display:grid}.metric-card strong{font-size:34px;line-height:1}.company-metric strong{font-size:24px;line-height:1.18}.metric-card p{color:var(--muted);margin:0;font-size:14px}.work-panel{padding:20px}.company-details-panel{grid-column:1/-1}.company-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.company-detail-grid div{border:1px solid var(--border);background:#f8fafc;border-radius:6px;gap:5px;min-width:0;padding:14px;display:grid}.company-detail-grid span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.company-detail-grid strong{color:var(--heading);overflow-wrap:anywhere}.panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.panel-heading h2,.work-panel h2{color:var(--heading);margin:0;font-size:22px}.data-list{gap:10px;display:grid}.data-row,.table-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.data-row{border:1px solid var(--border);background:#f8fafc;border-radius:6px;padding:12px}.clickable-row{cursor:pointer;transition:border-color .16s,background .16s,transform .16s}.clickable-row:hover,.clickable-row:focus-visible{background:#eef4f8;border-color:#17456d59;outline:none}.clickable-row:active{transform:translateY(1px)}.data-row>div,.table-row>div{gap:3px;min-width:0;display:grid}.data-row em,.table-row em{color:var(--primary);background:#eef4f8;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-style:normal;font-weight:800}.table-panel{overflow:hidden}.invite-user-panel{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(220px,1fr) minmax(260px,1.1fr) auto;align-items:end;gap:16px;padding:18px;display:grid}.invite-user-panel h3{color:var(--heading);margin:0;font-size:18px}.invite-user-panel p{color:var(--muted);margin:6px 0 0;font-size:14px}.invite-user-panel label{color:var(--heading);gap:8px;font-size:14px;font-weight:700;display:grid}.invite-user-panel select{border:1px solid var(--border);width:100%;min-height:42px;color:var(--heading);background:#fff;border-radius:6px;padding:9px 10px}.invite-user-panel .error-message,.invite-user-panel .success-message{grid-column:1/-1}.table-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,1fr) 140px 150px 90px;padding:16px 18px;display:grid}.table-row:last-child{border-bottom:0}.user-row{grid-template-columns:minmax(220px,1fr) 140px 110px minmax(180px,auto)}.row-actions,.button-row,.tray-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.button-row .secondary-button{margin-top:0}.danger-button{color:#9f1d20}.danger-button:hover{color:#7f171a}.settings-list{gap:12px;margin-top:18px;display:grid}.settings-list div{border:1px solid var(--border);background:#f8fafc;border-radius:6px;justify-content:space-between;gap:18px;padding:14px;display:flex}.login-copy{margin-top:28px}.eyebrow{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:700}h1{color:var(--heading);letter-spacing:0;margin:0;font-size:34px;font-weight:750;line-height:1.12}.intro{color:var(--muted);margin:12px 0 0;font-size:16px;line-height:1.5}.login-form{gap:18px;margin-top:30px;display:grid}.login-form label{color:var(--heading);gap:8px;font-size:14px;font-weight:650;display:grid}.login-form input[type=email],.login-form input[type=password],.login-form input[type=text]{border:1px solid var(--border);width:100%;min-height:46px;color:var(--heading);background:#fff;border-radius:6px;outline:none;padding:11px 12px}.invite-summary{border:1px solid var(--border);background:#f8fafc;border-radius:6px;gap:3px;padding:14px;display:grid}.invite-summary strong{color:var(--heading)}.invite-summary span{color:var(--muted);font-size:14px}.mfa-setup{border:1px solid var(--border);background:#f8fafc;border-radius:8px;gap:14px;padding:16px;display:grid}.mfa-setup h2{color:var(--heading);margin:0;font-size:18px;line-height:1.25}.mfa-setup p{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.45}.mfa-setup img{border:1px solid var(--border);background:#fff;border-radius:6px;width:180px;height:180px}.mfa-setup code{overflow-wrap:anywhere;width:100%;color:var(--heading);background:#fff;border-radius:6px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.notice,.error-message{margin:22px 0 0;font-size:14px;line-height:1.45}.notice{color:var(--muted)}.error-message{color:#9f1d20}.success-message{color:#12633d;margin:0;font-size:14px;line-height:1.45}.app-toast{z-index:80;min-width:min(360px,100vw - 32px);max-width:min(520px,100vw - 32px);color:var(--heading);text-align:center;background:#fff;border:1px solid #17456d2e;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:750;animation:.22s ease-out both toast-slide-in;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 42px #0f172a2e}.app-toast.success{color:#12633d;border-color:#12633d38}.app-toast.error{color:#9f1d20;border-color:#9f1d2038}.app-toast.closing{animation:.22s ease-in both toast-slide-out}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%,-14px)}to{opacity:1;transform:translate(-50%)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-14px)}}.login-form input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--focus)}.form-row{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;font-size:14px;display:flex}.remember-me{color:var(--muted);grid-template-columns:auto 1fr;align-items:center;gap:8px;font-weight:500;display:inline-flex}.remember-me input{width:16px;height:16px;accent-color:var(--primary);margin:0}button{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:6px;min-height:48px;font-weight:750;transition:background .16s,transform .16s}button:hover{background:var(--primary-hover)}button:active{transform:translateY(1px)}button:focus-visible{outline:4px solid var(--focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.72}.secondary-button{width:auto;min-height:42px;color:var(--primary);border:1px solid var(--border);background:#fff;margin-top:28px;padding:0 18px}.secondary-button:hover{color:var(--primary-hover);border-color:var(--primary);background:#eef4f8}.text-button{width:fit-content;min-height:0;color:var(--primary);background:0 0;border:0;padding:0;font-size:14px}.text-button:hover{color:var(--primary-hover);background:0 0;text-decoration:underline}.tray-backdrop{z-index:20;background:#0f172a47;animation:.18s ease-out both tray-backdrop-fade;position:fixed;inset:0}.tray-backdrop.closing{animation:.24s ease-in both tray-backdrop-hide}.slide-tray{z-index:21;border-left:1px solid var(--border);background:#fff;flex-direction:column;min-height:100svh;padding:28px 28px 0;animation:.22s ease-out both tray-slide-in;display:flex;position:fixed;inset:0 0 0 auto;overflow-y:auto;box-shadow:-18px 0 50px #0f172a2e}.tray-resize-handle{z-index:2;cursor:ew-resize;background:0 0;border:0;border-radius:0;width:16px;min-height:0;padding:0;position:absolute;top:0;bottom:0;left:-8px}.tray-resize-handle:after{content:"";background:#c8d2dc;border-radius:999px;width:3px;height:58px;transition:background .16s,height .16s;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.tray-resize-handle:hover,.tray-resize-handle:focus-visible{background:0 0}.tray-resize-handle:hover:after,.tray-resize-handle:focus-visible:after,.is-resizing-tray .tray-resize-handle:after{background:var(--primary);height:76px}.is-resizing-tray,.is-resizing-tray *{-webkit-user-select:none;user-select:none;cursor:ew-resize!important}.slide-tray.closing{animation:.24s ease-in both tray-slide-out}@keyframes tray-backdrop-fade{0%{opacity:0}to{opacity:1}}@keyframes tray-backdrop-hide{0%{opacity:1}to{opacity:0}}@keyframes tray-slide-in{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes tray-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.tray-backdrop,.slide-tray,.dialog-backdrop,.dialog-panel,.app-toast{animation:none}}.tray-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;display:flex}.tray-header h2{color:var(--heading);margin:0;font-size:28px}.ticket-detail-tray{width:min(100%,640px);overflow:hidden}.ticket-detail-content{flex:1;align-content:start;gap:22px;min-height:0;padding:22px 0 28px;display:grid;overflow-y:auto}.ticket-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ticket-summary-grid div{border:1px solid var(--border);background:#f8fafc;border-radius:6px;gap:5px;min-width:0;padding:14px;display:grid}.ticket-summary-grid span,.section-heading span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.ticket-summary-grid strong{overflow-wrap:anywhere;color:var(--heading)}.ticket-description,.ticket-comments{grid-template-columns:minmax(0,1fr);gap:12px;width:100%;min-width:0;display:grid}.ticket-description h3,.ticket-comments h3{color:var(--heading);margin:0;font-size:17px}.ticket-description p,.html-content{min-width:0;max-width:100%;color:var(--text);overflow-wrap:anywhere;word-break:break-word;margin:0;line-height:1.55}.html-content :first-child{margin-top:0}.html-content :last-child{margin-bottom:0}.html-content p,.html-content ul,.html-content ol,.html-content blockquote,.html-content table,.html-content pre{overflow-wrap:anywhere;max-width:100%;margin:0 0 12px}.html-content ul,.html-content ol{min-width:0;padding-left:22px}.html-content li{overflow-wrap:anywhere}.html-content a{color:var(--primary);overflow-wrap:anywhere;word-break:break-word;font-weight:750}.html-content blockquote{border-left:3px solid var(--border);max-width:100%;color:var(--muted);margin-left:0;padding-left:12px}.html-content pre,.html-content code{background:#f1f5f9;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.html-content pre{white-space:pre-wrap;max-width:100%;padding:10px;overflow-x:auto}.html-content code{white-space:pre-wrap;overflow-wrap:anywhere;padding:2px 4px}.html-content table{border-collapse:collapse;width:100%;max-width:100%;display:block;overflow-x:auto}.html-content th,.html-content td{border:1px solid var(--border);text-align:left;overflow-wrap:anywhere;word-break:break-word;max-width:260px;padding:8px}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.ticket-comment{border:1px solid var(--border);background:#fff;border-radius:6px;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;min-width:0;padding:14px;display:grid}.ticket-comment-meta{flex-direction:column;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ticket-comment>div{flex-direction:column}.ticket-comment strong{color:var(--heading)}.ticket-comment span{color:var(--muted);flex:none;font-size:13px}.segmented-control{border:1px solid var(--border);background:#f8fafc;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;margin:22px 0;padding:4px;display:grid}.segmented-control button{min-height:40px;color:var(--text);background:0 0;border-radius:6px}.segmented-control button.active{color:#fff;background:var(--primary)}.tray-form{flex:1;grid-template-rows:minmax(0,1fr) auto;gap:18px;min-height:0;display:grid}.tray-content{min-height:0;padding-bottom:22px;overflow-y:auto}.tray-form label{color:var(--heading);gap:8px;font-size:14px;font-weight:700;display:grid}.tray-form input,.tray-form select{border:1px solid var(--border);width:100%;min-height:44px;color:var(--heading);background:#fff;border-radius:6px;padding:10px 11px}.contact-field{gap:8px;display:grid}.field-label{color:var(--heading);font-size:14px;font-weight:700}.contact-select{position:relative}.contact-select-trigger{border:1px solid var(--border);width:100%;min-height:54px;color:var(--heading);text-align:left;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.contact-select-trigger:hover,.contact-select-trigger.open{border-color:var(--primary);background:var(--primary)}.contact-select-trigger:hover .selected-contact strong,.contact-select-trigger:hover .selected-contact small,.contact-select-trigger:hover .selected-contact .user-icon,.contact-select-trigger:hover .select-placeholder,.contact-select-trigger:hover .select-chevron,.contact-select-trigger.open .selected-contact strong,.contact-select-trigger.open .selected-contact small,.contact-select-trigger.open .selected-contact .user-icon,.contact-select-trigger.open .select-placeholder,.contact-select-trigger.open .select-chevron{color:#fff}.contact-select-trigger:focus-visible,.contact-dropdown input:focus{outline:3px solid var(--focus);outline-offset:1px}.contact-select-trigger:disabled{cursor:wait;opacity:.68}.selected-contact,.contact-option{align-items:center;gap:10px;min-width:0;display:flex}.selected-contact span,.contact-option span{gap:2px;min-width:0;display:grid}.selected-contact strong,.contact-option strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.selected-contact small,.contact-option small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.user-icon{width:20px;height:20px;color:var(--primary);flex:none}.select-placeholder{color:var(--muted)}.select-chevron{width:20px;height:20px;color:var(--muted);flex:none;transition:color .16s,transform .18s}.contact-select-trigger.open .select-chevron{transform:rotate(180deg)}.contact-dropdown{z-index:20;border:1px solid var(--border);background:#fff;border-radius:8px;gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 18px 38px #17202a29}.contact-dropdown input{border:1px solid var(--border);width:100%;min-height:40px;color:var(--heading);background:#fff;border-radius:6px;padding:9px 10px}.contact-options{gap:4px;max-height:260px;display:grid;overflow-y:auto}.contact-option{text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:9px 10px}.contact-option:hover,.contact-option.selected{border-color:var(--primary);background:var(--primary)}.contact-option:hover strong,.contact-option:hover small,.contact-option:hover .user-icon,.contact-option.selected strong,.contact-option.selected small,.contact-option.selected .user-icon{color:#fff}.empty-options{color:var(--muted);margin:8px 4px;font-size:14px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid label:nth-child(3){grid-column:1/-1}.tray-actions{border-top:1px solid var(--border);background:#fff;grid-template-columns:1fr 1fr;gap:12px;margin:0 -28px;padding:18px 28px;display:grid;box-shadow:0 -14px 34px #0f172a0f}.tray-actions button,.tray-actions .secondary-button{width:100%;min-height:48px;margin:0;padding:0 16px}.tray-actions .secondary-button{border:1px solid var(--border);background:#fff}.dialog-backdrop{z-index:40;background:#0f172a6b;place-items:center;padding:22px;animation:.18s ease-out both dialog-backdrop-in;display:grid;position:fixed;inset:0}.dialog-backdrop.closing{animation:.18s ease-in both dialog-backdrop-out}.dialog-panel{border:1px solid var(--border);background:#fff;border-radius:8px;gap:18px;width:min(100%,440px);padding:24px;animation:.22s ease-out both dialog-panel-in;display:grid;box-shadow:0 24px 70px #0f172a3d}.dialog-panel.closing{animation:.18s ease-in both dialog-panel-out}.dialog-icon{width:44px;height:44px;color:var(--primary);background:#eef4f8;border-radius:8px;place-items:center;font-size:22px;font-weight:850;display:grid}.dialog-panel.danger .dialog-icon{color:#b42318;background:#fff1f0}.dialog-copy{gap:8px;display:grid}.dialog-copy h2{color:var(--heading);margin:0;font-size:22px}.dialog-copy p{color:var(--muted);margin:0;line-height:1.55}.dialog-actions{grid-template-columns:1fr 1fr;gap:12px;padding-top:4px;display:grid}.dialog-actions button,.dialog-actions .secondary-button{width:100%;min-height:48px;margin:0}.dialog-actions .secondary-button{border:1px solid var(--border);background:#fff}.dialog-confirm-button{background:var(--primary)}.dialog-panel.danger .dialog-confirm-button{background:#b42318}.dialog-panel.danger .dialog-confirm-button:hover{background:#8f1d14}@keyframes dialog-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes dialog-panel-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-panel-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}@media (width<=860px){.portal-app{grid-template-columns:1fr;height:auto;min-height:100svh;overflow:visible}.portal-sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;min-height:auto;overflow:visible}.portal-nav{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:auto}.portal-nav button{text-align:center}.portal-user{margin-top:18px}.portal-main{padding:22px;overflow:visible}.portal-header,.panel-heading{flex-direction:column;align-items:flex-start}.metric-grid,.content-grid,.company-detail-grid,.ticket-summary-grid,.table-row,.user-row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}.invite-user-panel{grid-template-columns:1fr}}@media (width<=520px){.login-page{align-items:stretch;padding:0}.login-panel{width:100%;min-height:100svh;box-shadow:none;border:0;border-radius:0;flex-direction:column;justify-content:center;padding:28px 22px;display:flex}h1{font-size:30px}.form-row{flex-direction:column;align-items:flex-start;gap:12px}.slide-tray{padding:22px;width:100%!important}.tray-resize-handle{display:none}.form-grid{grid-template-columns:1fr}.form-grid label:nth-child(3){grid-column:auto}}
