:root{--bg:#0e0f13;--surface:#16171d;--surface-2:#1c1e26;--border:#2a2d36;--border-strong:#3a3e4a;--text:#e6e7ea;--text-muted:#8b909c;--text-faint:#5f636e;--white:#fff;--open:#5b9dff;--progress:#f5b34a;--waiting:#b88dff;--resolved:#4cd07d;--closed:#6b7280;--prio-low:#6b7280;--prio-medium:#5b9dff;--prio-high:#f5b34a;--prio-urgent:#ff5f5f;--radius:12px;--radius-sm:8px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;font:15px/1.5 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100svh;margin:0}body{background:var(--bg)}h1,h2,h3{color:var(--white);letter-spacing:-.02em;margin:0;font-weight:600}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}.password-field{display:block;position:relative}.password-field input{width:100%;padding-right:78px}.password-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);background:var(--surface);padding:4px 8px;font-size:12px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:focus-visible{outline:2px solid var(--resolved);outline-offset:2px}.password-requirement{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.password-requirement[data-valid=true]{color:var(--resolved)}.dashboard-modal{max-height:calc(100svh - 32px);overflow-y:auto}.dashboard-modal-form,.app-form-fields{flex-direction:column;gap:14px;display:flex}.app-form-fields{border:none;min-width:0;margin:0;padding:0}.api-key-actions{align-items:center;gap:8px;display:flex}.api-key-actions [role=status]{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.delete-confirmation{border:1px solid var(--prio-urgent);border-radius:var(--radius-sm);padding:12px}.delete-confirmation p{margin-top:0;font-size:13px}.dashboard-modal .modal-actions{flex-wrap:wrap}.dashboard-modal .field input{width:100%;min-width:0}@media (width<820px){.dashboard .body{flex-direction:column}.dashboard .app-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:160px;padding:8px}.dashboard .app-list{flex-shrink:0;display:flex;overflow-x:auto}.dashboard .app-list>li{flex-shrink:0}.dashboard .add-app{align-self:flex-start;width:auto;padding:4px 10px}.dashboard .stats-bar{gap:4px;padding:8px;overflow-x:auto}.dashboard .stat-tab{min-width:80px;padding:8px}.dashboard .split{flex-direction:row}.dashboard .list-pane{border-bottom:none;flex:1;max-height:none}.dashboard .detail-pane,.dashboard .show-detail .list-pane{display:none}.dashboard .show-detail .detail-pane{min-height:0;display:flex}.dashboard .mobile-back{align-self:flex-start;margin:8px;display:block}.dashboard .ticket-detail-wrapper{flex-direction:column;overflow-y:auto}.dashboard .detail-scroll{flex:none;overflow:visible}.dashboard .chat-pane{flex:1;width:100%;min-height:280px}.dashboard .chat-scroll{padding:16px;overflow:visible}.dashboard .detail{padding:16px}.dashboard .meta-row{flex-wrap:wrap;gap:4px}.dashboard .meta-value,.dashboard .detail-section p{overflow-wrap:anywhere}.dashboard .topbar{padding:10px}.dashboard .dev-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}}.dashboard :is(button,a,input,textarea,select):focus-visible,.dashboard-modal :is(button,input):focus-visible,.dashboard-modal .field input:focus-visible{outline:2px solid var(--open);outline-offset:2px}.dashboard .app-item{text-decoration:none}.app-item-wrapper{align-items:center;display:flex;position:relative}.app-item-wrapper .app-item{flex:1;min-width:0;padding-right:34px}.app-item-wrapper .app-item-details{opacity:1;position:absolute;right:4px}.dashboard .list-search{gap:8px;display:flex}.dashboard .search{min-width:0}.dashboard .ticket-row{text-align:left;width:100%;color:var(--text);font:inherit;background:0 0;border-top:none;border-right:none;display:block}.dashboard .ticket-row-active{background:var(--surface-2)}.dashboard .ticket-row:hover{background:var(--surface)}.dashboard .row-subject{display:block}.dashboard-error{color:var(--prio-urgent);margin:0;padding:8px 20px}.ticket-status{align-items:center;gap:12px;margin-top:16px;display:flex}.ticket-status select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px}.mobile-back{display:none}.brand{letter-spacing:-.02em;align-items:center;gap:8px;font-weight:700;display:inline-flex}.brand-mark{background:var(--white);color:#000;border-radius:8px;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:grid}.brand-name{color:var(--white);font-size:17px}.login-screen{place-items:center;min-height:100svh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;width:100%;max-width:380px;padding:32px;display:flex}.login-card h1{margin-top:8px;font-size:22px}.login-sub{color:var(--text-muted);margin:0 0 8px}.field{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.field input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;padding:11px 12px;font-size:15px;transition:border-color .15s}.field input:focus{border-color:var(--border-strong)}.login-error{color:var(--prio-urgent);margin:0;font-size:13px}.login-hint{text-align:center;color:var(--text-faint);margin:4px 0 0;font-size:12px}.link-btn{color:var(--text-muted);text-align:center;background:0 0;border:none;padding:2px;font-size:13px;text-decoration:underline;transition:color .15s}.link-btn:hover{color:var(--white)}.btn-primary{background:var(--white);color:#000;border-radius:var(--radius-sm);border:none;padding:11px 16px;font-size:15px;font-weight:600;transition:opacity .15s}.btn-primary:hover{opacity:.88}.btn-primary:disabled{opacity:.5;cursor:default}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);background:0 0;padding:7px 12px;font-size:14px;transition:all .15s}.btn-ghost:hover{color:var(--white);border-color:var(--border-strong)}.app{flex-direction:column;height:100svh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.topbar-right{align-items:center;gap:14px;display:flex}.dev-name{color:var(--text);font-size:14px}.muted{color:var(--text-muted)}.mono{font-family:var(--mono)}.body{flex:1;min-height:0;display:flex}.app-sidebar{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;flex-shrink:0;width:220px;padding:14px 10px;display:flex}.sidebar-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:0 8px 8px;font-size:11px}.app-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.app-item{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;align-items:center;gap:6px;padding:7px 8px 7px 10px;font-size:14px;transition:background .12s,color .12s;display:flex}.app-item:hover{background:var(--surface)}.app-item-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.app-item-details{color:var(--text-faint);opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:18px;line-height:1;transition:opacity .12s,color .12s,background .12s}.app-item:hover .app-item-details{opacity:1}.app-item-details:hover{color:var(--white);background:var(--surface-2)}.input-row{gap:8px;display:flex}.input-row input{flex:1}.input-row .btn-ghost{flex-shrink:0}.app-item-active{background:var(--surface-2);color:var(--white);font-weight:600}.add-app{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text-muted);background:0 0;align-items:center;gap:8px;margin-top:8px;padding:9px 10px;font-size:14px;transition:all .15s;display:flex}.add-app:hover{color:var(--white);border-color:var(--white)}.add-app-icon{font-size:16px;line-height:1}.main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.stats-bar{border-bottom:1px solid var(--border);flex-shrink:0;gap:8px;padding:12px 20px;display:flex}.stat-tab{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;flex-direction:column;flex:1;align-items:flex-start;gap:2px;max-width:180px;padding:10px 14px;transition:all .15s;display:flex}.stat-tab:hover{border-color:var(--border-strong)}.stat-tab-active{border-color:var(--white);background:var(--surface-2)}.stat-tab-value{color:var(--white);font-size:22px;font-weight:700;line-height:1.1}.stat-tab-label{color:var(--text-muted);font-size:12px}.split{flex:1;min-height:0;display:flex}.list-pane{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:380px;min-height:0;display:flex}.list-search{border-bottom:1px solid var(--border);padding:12px}.search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:9px 12px;font-size:14px}.search:focus{border-color:var(--border-strong)}.ticket-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.ticket-row{border-bottom:1px solid var(--border);border-left:3px solid var(--status);cursor:pointer;padding:12px 14px 12px 16px;transition:background .12s}.ticket-row:hover{background:var(--surface)}.ticket-row-active{background:var(--surface-2)}.row-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.row-requester{color:var(--white);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.row-time{color:var(--text-faint);flex-shrink:0;font-size:12px}.row-subject{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 8px;font-size:14px;overflow:hidden}.row-foot{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.detail-pane{flex-direction:column;flex:1;min-width:0;display:flex}.ticket-detail-wrapper{flex:1;min-height:0;display:flex}.detail-scroll{flex:1;min-height:0;overflow-y:auto}.ticket-detail-wrapper .detail-scroll{border-right:1px solid var(--border)}.chat-pane{background:var(--bg);flex-direction:column;flex-shrink:0;width:40%;display:flex}.chat-scroll{flex:1;padding:28px 24px 0;overflow-y:auto}.detail-empty{color:var(--text-muted);flex:1;place-items:center;display:grid}.detail{max-width:760px;padding:28px 32px}.detail-head h1{margin:4px 0 12px;font-size:24px}.detail-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.detail-meta{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:10px;margin:24px 0;padding:16px 0;display:flex}.meta-row{align-items:center;gap:12px;font-size:14px;display:flex}.meta-label{width:120px;color:var(--text-faint);flex-shrink:0;font-size:13px}.meta-value{color:var(--text)}.detail-section{margin-bottom:24px}.detail-section h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-bottom:10px;font-size:13px}.detail-section p{color:var(--text);line-height:1.6}.app-tag{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:6px;padding:3px 9px;font-size:12px}.badge{color:var(--c);background:color-mix(in srgb, var(--c) 14%, transparent);border:1px solid color-mix(in srgb, var(--c) 30%, transparent);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:500;display:inline-flex}.badge-sm{padding:2px 7px;font-size:11px}.badge-dot{background:var(--c);border-radius:50%;width:7px;height:7px}.empty{text-align:center;color:var(--text-muted);padding:32px}.thread{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.msg{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.msg-dev{border-left:3px solid var(--white)}.msg-user{border-left:3px solid var(--open)}.msg-author{color:var(--white);font-size:12px;font-weight:600}.msg p{margin:6px 0;font-size:14px;line-height:1.5}.msg-time{color:var(--text-faint);font-size:11px}.msg-internal{border-left-color:var(--progress);background:color-mix(in srgb, var(--progress) 8%, var(--surface))}.msg-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--progress);border:1px solid color-mix(in srgb, var(--progress) 40%, transparent);border-radius:4px;margin-left:8px;padding:1px 5px;font-size:10px}.reply-box{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.reply-input{resize:vertical;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:56px;color:var(--text);outline:none;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.5}.reply-input:focus{border-color:var(--border-strong)}.reply-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.reply-internal{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.reply-actions .btn-primary{padding:8px 18px}.modal-backdrop{z-index:30;background:#0000008c;position:fixed;inset:0}.modal{z-index:31;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;width:360px;max-width:calc(100vw - 32px);padding:24px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal h2{font-size:18px}.modal-hint{color:var(--text-faint);margin:-6px 0 0;font-size:12px}.modal .field input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;padding:11px 12px;font-size:15px}.modal .field input:focus{border-color:var(--border-strong)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.modal-actions-split{justify-content:space-between;align-items:center}.btn-danger{color:var(--prio-urgent);border:1px solid color-mix(in srgb, var(--prio-urgent) 45%, transparent);border-radius:var(--radius-sm);background:0 0;padding:7px 12px;font-size:14px;transition:all .15s}.btn-danger:hover{background:color-mix(in srgb, var(--prio-urgent) 15%, transparent);border-color:var(--prio-urgent)}.btn-danger:disabled{opacity:.5;cursor:default}@media (width<=820px){.app-sidebar{width:150px}.split{flex-direction:column}.list-pane{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:45vh}.stat-tab{padding:8px 10px}.stat-tab-value{font-size:18px}.detail{padding:20px}}
