:root { color-scheme: dark; --bg:#0b0d12; --panel:#12151c; --panel-2:#171b24; --line:#252b37; --text:#f3f5f8; --muted:#929aaa; --accent:#9b87f5; --accent-2:#745ee8; --green:#52d39a; --amber:#f2b84b; --red:#ef6a78; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { min-width:320px; }
body { margin:0; background:radial-gradient(circle at 80% -20%,#211c3f 0,transparent 34%),var(--bg); color:var(--text); min-height:100vh; overflow-x:hidden; }
.hidden { display:none !important; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
.shell { min-height:100vh; display:grid; grid-template-columns:220px minmax(0,1fr); }
.sidebar { z-index:20; border-right:1px solid var(--line); background:rgba(12,14,19,.86); padding:24px 16px; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; backdrop-filter:blur(20px); }
.brand { display:flex; align-items:center; gap:11px; padding:0 8px 28px; color:var(--text); text-decoration:none; font-weight:700; letter-spacing:-.02em; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:linear-gradient(145deg,var(--accent),var(--accent-2)); color:white; font-size:12px; box-shadow:0 8px 24px #735ce83d; }
nav { display:grid; gap:5px; }
.project-switcher { display:grid; gap:6px; padding:0 8px 20px; }
.project-switcher > label { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.project-switcher > div { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.project-native-select { position:absolute !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }
.project-picker-button { min-width:0; min-height:46px; width:100%; display:flex; align-items:center; gap:9px; padding:0 36px 0 13px; position:relative; text-align:left; background:linear-gradient(145deg,#242039,#171b26); border:1px solid #4e477f; border-radius:11px; color:#f7f5ff; box-shadow:inset 0 1px #ffffff12,0 8px 22px #0002; }
.project-picker-button:hover { background:linear-gradient(145deg,#30294d,#1a1e2a); border-color:#796bd0; box-shadow:inset 0 1px #ffffff18,0 8px 22px #0003; }
.project-picker-button:focus-visible { border-color:#a99cff; outline:0; box-shadow:0 0 0 3px #9b87f52b,inset 0 1px #ffffff18; }
.project-picker-button > span:first-child { min-width:0; display:flex; align-items:baseline; gap:6px; overflow:hidden; }
.project-picker-button strong { color:#f7f5ff; font-size:12px; }
.project-picker-button span span,.project-picker-button > span:first-child > span { overflow:hidden; color:#f7f5ff; font-size:12px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.project-picker-chevron { position:absolute; right:15px; width:8px; height:8px; border-right:2px solid #c7c0ff; border-bottom:2px solid #c7c0ff; transform:translateY(-3px) rotate(45deg); transition:transform .15s ease; }
.project-picker-button[aria-expanded="true"] .project-picker-chevron { transform:translateY(2px) rotate(225deg); }
.project-picker-menu { position:absolute; z-index:30; left:0; right:auto; top:calc(100% + 7px); width:max(100%,250px); max-width:calc(100vw - 30px); display:grid; gap:4px; padding:6px; border:1px solid #4e477f; border-radius:12px; background:#171522f7; box-shadow:0 18px 45px #0009; backdrop-filter:blur(16px); }
.project-picker-option { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; padding:10px 9px; border:1px solid transparent; border-radius:8px; color:#c8c3e5; background:transparent; text-align:left; }
.project-picker-option:hover,.project-picker-option:focus-visible { border-color:#5e53a0; background:#9b87f51c; color:white; outline:0; }
.project-picker-option strong { color:var(--accent); font-size:11px; }
.project-picker-option span { min-width:0; font-size:11px; overflow-wrap:anywhere; }
.project-picker-option.selected { background:#9b87f514; }
.project-picker-check { color:var(--green); font-weight:800; }
.project-add { width:38px; min-height:46px; border:1px solid #4e477f; border-radius:11px; background:#211d36; color:#bdb3ff; font-size:20px; box-shadow:inset 0 1px #ffffff10; }
.project-add:hover { border-color:#a99cff; background:#2b2550; color:white; }
.nav-item { border:0; color:var(--muted); background:transparent; text-align:left; padding:11px 12px; border-radius:9px; display:flex; align-items:center; gap:10px; }
.nav-item.active { color:white; background:#ffffff0d; box-shadow:inset 3px 0 var(--accent); }
.nav-item small { margin-left:auto; opacity:.5; font-size:10px; text-transform:uppercase; }
.nav-item:disabled { cursor:default; }
.sidebar-footer { margin-top:auto; color:var(--muted); font-size:12px; display:grid; gap:10px; padding:8px; }
.current-user { display:flex; align-items:center; gap:8px; overflow:hidden; }
.current-user span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.logout-button { border:1px solid var(--line); background:transparent; color:var(--muted); border-radius:8px; padding:7px 9px; text-align:left; }
.logout-button:hover { color:var(--text); background:#ffffff08; }
.environment-dot { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 12px var(--green); }
main { padding:34px clamp(22px,4vw,58px) 50px; min-width:0; }
.topbar { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:28px; }
.eyebrow { color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.13em; margin:0 0 7px; }
h1 { margin:0; font-size:32px; letter-spacing:-.04em; }
.primary,.secondary { border-radius:9px; padding:10px 15px; border:1px solid transparent; font-weight:650; }
.primary { background:var(--accent); color:#100d1c; box-shadow:0 8px 24px #9b87f526; }
.primary:hover { background:#ac9cf8; transform:translateY(-1px); }
.icon-create { display:grid; place-items:center; width:38px; height:38px; border:1px solid #ad9df866; border-radius:10px; background:#9b87f519; color:var(--accent); font-size:22px; line-height:1; }
.icon-create:hover { background:#9b87f52b; transform:translateY(-1px); }
.secondary { background:var(--panel-2); border-color:var(--line); color:var(--text); }
.toolbar { display:flex; gap:10px; margin-bottom:14px; }
.search { flex:1; display:flex; gap:9px; align-items:center; border:1px solid var(--line); background:var(--panel); border-radius:9px; padding:0 12px; color:var(--muted); }
.search input { width:100%; background:transparent; border:0; outline:0; color:var(--text); padding:10px 0; }
select { appearance:none; -webkit-appearance:none; min-height:42px; width:100%; background-color:var(--panel); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='m3.5 5.25 3.5 3.5 3.5-3.5' stroke='%23929aaa' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; border:1px solid var(--line); color:var(--text); border-radius:9px; padding:0 38px 0 12px; outline:0; transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease; }
select:hover { border-color:#454d60; background-color:#191e28; }
select:focus-visible { border-color:var(--accent); box-shadow:0 0 0 3px #9b87f51c; }
select:disabled { cursor:not-allowed; opacity:.55; }
select option { background:#151922; color:var(--text); }
.tickets-content { max-width:1100px; }
.panel { background:linear-gradient(180deg,#151922,#11141b); border:1px solid var(--line); border-radius:13px; overflow:hidden; box-shadow:0 20px 60px #0003; }
.panel-heading { min-height:42px; padding:0 17px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.ticket-row { display:grid; grid-template-columns:1fr auto; gap:14px; padding:16px 17px; border-bottom:1px solid var(--line); cursor:pointer; transition:.15s ease; }
.ticket-row:last-child { border-bottom:0; }
.ticket-row:hover,.ticket-row.selected { background:#ffffff08; }
.ticket-row.selected { box-shadow:inset 3px 0 var(--accent); }
.backlog-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; padding:17px; border-bottom:1px solid var(--line); }
.backlog-row:last-child { border-bottom:0; }
.backlog-ticket-copy { cursor:pointer; }
.backlog-ticket-copy p { margin:7px 0 0; color:var(--muted); font-size:12px; }
.backlog-actions { display:flex; gap:9px; }
.backlog-actions select { min-width:170px; }
.run-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; padding:16px 17px; border-bottom:1px solid var(--line); cursor:pointer; }
.run-row:last-child { border-bottom:0; }.run-row:hover { background:#ffffff05; }
.run-ticket { font-weight:650; }.run-agent { color:var(--muted); font-size:11px; margin-top:6px; }
.run-timing { display:grid; justify-items:end; gap:7px; color:var(--muted); font-size:10px; }
.status.running { color:#7bb8ff; background:#7bb8ff18; }.status.succeeded { color:var(--green); background:#52d39a18; }.status.released,.status.timed_out { color:var(--amber); background:#f2b84b18; }
.run-detail { position:relative; padding:26px; }.run-detail h2 { margin:7px 0 15px; }.run-detail h3 { margin:23px 0 9px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.run-dialog-close:first-child { position:absolute; top:14px; right:16px; }
#run-dialog { width:min(720px,calc(100vw - 32px)); }
.run-facts { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.run-facts>div { display:grid; gap:5px; padding:12px; border:1px solid var(--line); border-radius:9px; background:#0d1016; }.run-facts span,.run-updates time { color:var(--muted); font-size:10px; }.run-facts strong { font-size:12px; overflow-wrap:anywhere; }
.run-updates { display:grid; gap:9px; }.run-updates article { padding:12px; border:1px solid var(--line); border-radius:9px; background:#0d1016; }.run-updates article>div { display:flex; justify-content:space-between; gap:10px; text-transform:capitalize; }.run-updates p { margin:7px 0; color:#c6ccd7; line-height:1.5; }
.run-artifacts { display:grid; gap:9px; }.run-artifacts article { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:9px; background:#0d1016; }.run-artifacts a { color:inherit; text-decoration:none; min-width:0; }.run-artifacts a:hover strong { color:#7bb8ff; }.run-artifacts article div { display:grid; gap:4px; }.run-artifacts span,.run-artifacts time { color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.approval-list { display:grid; gap:12px; padding:14px; }.approval-card { display:grid; gap:13px; padding:18px; border:1px solid var(--line); border-radius:11px; background:#0d1016; }.approval-card h2 { margin:5px 0 0; font-size:16px; }.approval-card p { margin:0; color:#c6ccd7; line-height:1.5; }.approval-card-top,.approval-actions,.approval-meta { display:flex; justify-content:space-between; gap:12px; }.approval-meta { justify-content:flex-start; flex-wrap:wrap; color:var(--muted); font-size:10px; }.approval-card label { display:grid; gap:6px; color:var(--muted); font-size:11px; }.approval-actions { justify-content:flex-end; }.approval-decision { padding:11px; border-radius:8px; background:#ffffff08; color:#c6ccd7; font-size:12px; }.status.approved { color:var(--green); background:#52d39a18; }.status.rejected { color:var(--red); background:#ef6a7818; }.status.pending { color:var(--amber); background:#f2b84b18; }
.ticket-key { color:var(--muted); font-size:12px; margin-bottom:6px; }
.ticket-title { font-weight:650; line-height:1.35; }
.ticket-meta { display:flex; gap:8px; margin-top:10px; color:var(--muted); font-size:11px; }
.status { align-self:start; border-radius:999px; padding:5px 8px; font-size:10px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; background:#ffffff0d; color:var(--muted); white-space:nowrap; }
.status.ready,.status.done { color:var(--green); background:#52d39a18; }
.status.preparing,.status.review { color:var(--amber); background:#f2b84b18; }
.status.blocked,.status.failed { color:var(--red); background:#ef6a7818; }
.status.in_progress { color:#7bb8ff; background:#7bb8ff18; }
.empty-detail,.empty-list { min-height:360px; padding:48px 30px; display:grid; place-content:center; text-align:center; color:var(--muted); }
.empty-detail h2 { color:var(--text); margin:14px 0 4px; }
.empty-detail p { max-width:320px; line-height:1.55; margin:0; }
.empty-icon { margin:auto; display:grid; place-items:center; width:45px; height:45px; border:1px solid var(--line); border-radius:13px; font-size:20px; }
.detail-content { padding:23px; }
.board-ticket-close-icon { position:absolute; top:15px; right:17px; z-index:2; }
#board-ticket-dialog { width:min(720px,calc(100vw - 32px)); max-height:calc(100vh - 48px); overflow:auto; }
#board-ticket-dialog .detail-content { position:relative; padding:28px; }
#board-ticket-dialog .detail-top { padding-right:34px; }
.ticket-status-control { position:relative; min-width:110px; text-align:right; }
.ticket-status-button { border:0; cursor:pointer; }
.ticket-status-select { min-height:34px; height:34px; padding:0 34px 0 10px; }
.ticket-edit-actions { display:flex; justify-content:flex-end; margin-top:20px; }
.ticket-edit-form { display:grid; gap:14px; padding:18px; margin-top:16px; border:1px solid var(--line); border-radius:10px; background:#0d1016; }
.ticket-edit-form label { display:grid; gap:7px; color:#c8ced9; font-size:12px; font-weight:650; }
.ticket-edit-form input,.ticket-edit-form textarea { width:100%; background:#090b0f; border:1px solid var(--line); border-radius:8px; color:var(--text); padding:11px; outline:0; resize:vertical; }
.board-ticket-footer { display:flex; justify-content:flex-end; margin-top:24px; padding-top:18px; border-top:1px solid var(--line); }
.topbar-actions { display:flex; gap:9px; }
#board-editor-dialog { width:min(760px,calc(100vw - 32px)); }
.board-editor-content { width:100%; min-width:0; padding:25px; display:grid; gap:18px; }
.board-lane-editor { display:grid; gap:8px; }
.board-lane-row { display:grid; grid-template-columns:auto auto minmax(140px,1fr) auto auto; align-items:center; gap:9px; padding:10px; border:1px solid var(--line); border-radius:9px; background:#0d1016; transition:.15s; }
.lane-drag-handle { color:var(--muted); cursor:grab; padding:8px 4px; letter-spacing:-3px; user-select:none; }
.board-lane-row.dragging { opacity:.4; }
.board-lane-row.drag-target { border-color:var(--accent); transform:translateY(2px); }
.lane-color-input { width:38px !important; height:38px; padding:3px !important; cursor:pointer; }
.board-lane-row input,.new-lane-form input { width:100%; background:#090b0f; border:1px solid var(--line); border-radius:8px; color:var(--text); padding:9px; }
.board-lane-row code { color:var(--muted); font-size:10px; }
.danger { color:var(--red); background:#ef6a7810; border-color:#ef6a7840; }
.new-lane-form { display:grid; grid-template-columns:auto 1fr auto; align-items:end; gap:10px; padding-top:15px; border-top:1px solid var(--line); }
.lane-color-field input { width:48px !important; height:42px; padding:3px !important; }
.new-lane-form label { display:grid; gap:6px; color:var(--muted); font-size:11px; }
.move-lane-form { padding:24px; display:grid; gap:17px; }
.move-lane-form label { display:grid; gap:7px; color:#c8ced9; font-size:12px; font-weight:650; }
.move-lane-form select { min-height:42px; width:100%; }
.detail-top { display:flex; justify-content:space-between; gap:12px; align-items:start; }
.detail-content h2 { font-size:22px; line-height:1.25; margin:8px 0 14px; }
.detail-content h3 { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.09em; margin:24px 0 9px; }
.detail-content p { color:#c6ccd7; line-height:1.6; }
.out-of-scope { padding:11px 13px; border-left:3px solid var(--red); border-radius:0 8px 8px 0; background:#ef6a780b; }
.criteria { padding-left:20px; color:#c6ccd7; line-height:1.6; }
.workspace { border:1px solid var(--line); border-radius:9px; padding:12px; background:#0d1016; }
.branch { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; color:var(--accent); overflow-wrap:anywhere; }
.timestamp { color:var(--muted); font-size:11px; }
.activity-timeline { display:grid; border-left:1px solid var(--line); margin-left:15px; }
.activity-entry { display:grid; grid-template-columns:32px 1fr; gap:10px; padding:0 0 18px; margin-left:-16px; }
.activity-entry:last-child { padding-bottom:0; }
.activity-icon { width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:#151922; font-size:15px; }
.activity-copy { color:#c6ccd7; font-size:12px; line-height:1.45; padding-top:2px; }
.activity-copy strong { color:var(--text); }
.activity-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; color:var(--muted); font-size:10px; }
dialog { width:min(540px,calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); margin:auto; overflow:auto; overscroll-behavior:contain; border:1px solid #343b4a; border-radius:15px; padding:0; color:var(--text); background:#151922; box-shadow:0 30px 100px #000a; }
dialog::backdrop { background:#050609b8; backdrop-filter:blur(5px); }
dialog > * { min-width:0; max-width:100%; }
#ticket-form { padding:24px; display:grid; gap:16px; }
#project-form { padding:24px; display:grid; gap:16px; }
#epic-form { width:min(540px,calc(100vw - 32px)); padding:24px; display:grid; gap:16px; }
.dialog-heading { display:flex; justify-content:space-between; align-items:start; }
.dialog-heading > div { min-width:0; }
.dialog-heading h2 { margin:0; font-size:24px; }
.dialog-heading h2,.dialog-heading p { overflow-wrap:anywhere; }
.icon-button { border:0; color:var(--muted); background:transparent; font-size:25px; }
#ticket-form label { display:grid; gap:7px; color:#c8ced9; font-size:12px; font-weight:650; }
.field-label-heading { display:flex; align-items:center; gap:6px; }
.field-info { display:inline-grid; place-items:center; width:24px; height:24px; padding:0; border:0; border-radius:50%; background:transparent; font-size:14px; line-height:1; filter:grayscale(.25); }
.field-info:hover,.field-info:focus-visible { background:#9b87f51c; outline:1px solid #9b87f566; filter:none; }
.field-info-content { padding:24px; display:grid; gap:17px; }
.field-info-content p { margin:0; color:#c6ccd7; line-height:1.65; }
#project-form label { display:grid; gap:7px; color:#c8ced9; font-size:12px; font-weight:650; }
#epic-form label { display:grid; gap:7px; color:#c8ced9; font-size:12px; font-weight:650; }
#ticket-form input,#ticket-form textarea,#ticket-form select { width:100%; background:#0d1016; border:1px solid var(--line); border-radius:8px; color:var(--text); padding:11px; outline:0; resize:vertical; }
#project-form input { width:100%; background:#0d1016; border:1px solid var(--line); border-radius:8px; color:var(--text); padding:11px; outline:0; }
#epic-form input,#epic-form textarea { width:100%; background:#0d1016; border:1px solid var(--line); border-radius:8px; color:var(--text); padding:11px; outline:0; resize:vertical; }
#ticket-form input:focus,#ticket-form textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px #9b87f514; }
.dialog-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:5px; }
.form-error { color:var(--red); font-size:12px; min-height:16px; }
.toast { position:fixed; right:24px; bottom:24px; background:#1b202a; border:1px solid #343b4a; padding:12px 16px; border-radius:9px; opacity:0; transform:translateY(10px); pointer-events:none; transition:.2s; }
.toast.visible { opacity:1; transform:translateY(0); }
.login-screen { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 50% 0,#29214f 0,transparent 38%); }
.login-card { width:min(410px,100%); display:grid; gap:17px; padding:32px; border:1px solid var(--line); border-radius:17px; background:linear-gradient(180deg,#171b24,#10131a); box-shadow:0 30px 100px #0008; }
.login-brand { display:flex; align-items:center; gap:14px; }
.login-brand .brand-mark { width:46px; height:46px; border-radius:13px; }
.login-brand h1 { font-size:27px; }
.login-brand .eyebrow { margin-bottom:3px; }
.login-copy { color:var(--muted); line-height:1.55; margin:2px 0 4px; }
.login-card label { display:grid; gap:7px; color:#c8ced9; font-size:12px; font-weight:650; }
.login-card input { width:100%; background:#0d1016; border:1px solid var(--line); border-radius:8px; color:var(--text); padding:12px; outline:0; }
.login-card input:focus { border-color:var(--accent); box-shadow:0 0 0 3px #9b87f514; }
.login-button { width:100%; padding:12px; }
.development-hint { color:#697182; font-size:11px; line-height:1.5; margin:0; text-align:center; }
.development-hint code { color:#8d96a7; }
.management-grid { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr); gap:14px; align-items:start; }
.admin-sidebar-subnav { display:grid; gap:3px; margin:2px 0 8px 18px; border-left:1px solid var(--line); padding-left:8px; }
.admin-sidebar-item { font-size:12px; padding:8px 10px; }
.admin-sidebar-item.active { color:var(--text); background:#ffffff0d; }
.compact-button { padding:7px 10px; font-size:12px; }
.setup-steps { display:grid; gap:8px; padding-left:22px; color:var(--muted); }
.copy-field { display:flex; gap:8px; align-items:center; }
.copy-field input { flex:1; min-width:0; }
.verification-status { border:1px solid var(--line); border-radius:8px; padding:9px 10px; color:var(--muted); font-size:12px; }
.integration-test-actions { margin-top:4px; }
.admin-tabs { display:flex; gap:8px; margin-bottom:14px; border-bottom:1px solid var(--line); padding-bottom:10px; }
.admin-tab { cursor:pointer; }
.admin-tab.active { border-color:var(--accent); color:var(--accent); }
.admin-tab-panel { max-width:900px; }
.management-form { padding:24px; display:grid; gap:16px; }
.management-form h2 { margin:0; font-size:20px; }
.management-form > p { margin:0 0 4px; color:var(--muted); line-height:1.55; font-size:13px; }
.management-form label { display:grid; gap:7px; color:#c8ced9; font-size:12px; font-weight:650; }
.management-form input,.management-form select,.management-form textarea { width:100%; background:#0d1016; border:1px solid var(--line); border-radius:8px; color:var(--text); padding:11px; outline:0; resize:vertical; }
.management-form fieldset { margin:0; border:1px solid var(--line); border-radius:9px; padding:12px; }
.management-form legend { color:var(--muted); font-size:11px; padding:0 6px; text-transform:uppercase; letter-spacing:.08em; }
.scope-options { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.scope-option { display:flex !important; grid-template-columns:auto 1fr; align-items:center; gap:7px !important; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:10px !important; }
.scope-option input { width:auto; }
.management-list { min-height:300px; }
.identity-row { display:flex; justify-content:space-between; gap:14px; padding:15px 17px; border-bottom:1px solid var(--line); }
.identity-row:last-child { border-bottom:0; }
.identity-name { font-weight:650; }
.identity-meta { color:var(--muted); font-size:11px; margin-top:5px; }
.credential-content { padding:25px; display:grid; gap:17px; }
.credential-content p { color:var(--muted); line-height:1.5; margin:0; }
.credential-value { display:block; padding:15px; border:1px solid var(--line); border-radius:9px; background:#090b0f; color:var(--green); overflow-wrap:anywhere; user-select:all; }
.credential-warning { color:var(--amber) !important; font-size:12px; }
.board-summary { display:flex; justify-content:flex-end; align-items:center; padding:12px 17px; margin-bottom:14px; border:1px solid var(--line); border-radius:11px; background:var(--panel); }
.summary-label,.summary-text { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
.swimlane-board { display:grid; grid-template-columns:repeat(var(--lane-count,6),minmax(230px,1fr)); gap:12px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-gutter:stable; padding-bottom:14px; align-items:start; }
.swimlane { min-height:480px; border:1px solid var(--line); border-radius:12px; background:#0e1117aa; }
.swimlane-header { display:flex; align-items:center; justify-content:space-between; padding:13px 14px; border-bottom:1px solid var(--line); position:sticky; top:0; background:#12161e; border-radius:12px 12px 0 0; z-index:1; }
.swimlane-title { display:flex; align-items:center; gap:8px; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
.lane-dot { width:7px; height:7px; border-radius:50%; background:var(--muted); }
.lane-dot.ready,.lane-dot.done { background:var(--green); }.lane-dot.preparing,.lane-dot.review { background:var(--amber); }.lane-dot.in_progress { background:#7bb8ff; }.lane-dot.blocked { background:var(--red); }
.lane-count { display:grid; place-items:center; min-width:23px; height:23px; padding:0 6px; border-radius:999px; background:#ffffff0c; color:var(--muted); font-size:10px; }
.lane-cards { display:grid; gap:9px; padding:10px; }
.board-card { border:1px solid var(--line); border-radius:9px; padding:13px; background:linear-gradient(150deg,#181c25,#12151c); cursor:pointer; transition:.15s ease; box-shadow:0 8px 24px #0002; }
.board-card:hover { transform:translateY(-2px); border-color:#454d60; box-shadow:0 12px 30px #0004; }
.board-card.dragging { opacity:.35; transform:scale(.98); }
.swimlane.drag-over { border-color:var(--accent); background:#9b87f50d; box-shadow:inset 0 0 0 1px var(--accent); }
.swimlane.drag-over .lane-cards { min-height:400px; }
.board-card-key { color:var(--accent); font-size:10px; font-weight:700; margin-bottom:7px; }
.board-card-title { font-size:13px; font-weight:650; line-height:1.4; }
.board-card-meta { display:flex; justify-content:space-between; margin-top:12px; color:var(--muted); font-size:10px; }
.lane-empty { padding:28px 12px; color:#5e6675; font-size:11px; text-align:center; }
.epic-card { padding:18px; border-bottom:1px solid var(--line); cursor:pointer; }
.epic-card:last-child { border-bottom:0; }
.epic-card:hover { background:#ffffff05; }
.epic-card-top { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.epic-key { color:var(--accent); font-size:11px; font-weight:750; margin-bottom:6px; }
.epic-title { font-weight:700; font-size:15px; }
.epic-objective { color:var(--muted); font-size:12px; line-height:1.5; margin:9px 0 14px; }
.epic-progress-row { display:flex; align-items:center; gap:12px; }
.epic-progress-track { flex:1; height:8px; border-radius:999px; overflow:hidden; background:#090b0f; }
.epic-progress-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent-2),var(--green)); }
.epic-progress-value { min-width:36px; color:var(--text); font-size:11px; font-weight:700; text-align:right; }
.epic-stats { display:flex; gap:12px; margin-top:10px; color:var(--muted); font-size:10px; }
.epic-actions { display:flex; justify-content:flex-end; margin-top:13px; }
.epic-manage { padding:7px 10px; font-size:11px; }
#epic-tickets-form { width:min(620px,calc(100vw - 32px)); padding:24px; display:grid; gap:16px; }
.epic-ticket-options { max-height:380px; overflow:auto; display:grid; border:1px solid var(--line); border-radius:9px; }
.epic-ticket-option { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:11px; padding:12px; border-bottom:1px solid var(--line); cursor:pointer; }
.epic-ticket-option:last-child { border-bottom:0; }
.epic-ticket-option:hover { background:#ffffff05; }
.epic-ticket-option input { width:16px; height:16px; accent-color:var(--accent); }
.epic-ticket-option small { color:var(--muted); }
.epic-ticket-current { color:var(--amber); font-size:10px; }
@media (max-width:1100px) {
  .management-grid { grid-template-columns:1fr; }
}
@media (max-width:900px) {
  .shell { grid-template-columns:76px minmax(0,1fr); }
  .sidebar { padding:20px 10px; }
  .brand span:last-child,.nav-item small,.nav-item { font-size:0; }
  .nav-item span { font-size:16px; }
  .current-user { display:none; }
  .brand { padding:0 10px 24px; }
  .nav-item { justify-content:center; }
  .sidebar-footer { padding:0; }
  .logout-button { font-size:0; text-align:center; }
  .logout-button::after { content:"↪"; font-size:16px; }
  main { padding-inline:clamp(16px,3vw,30px); }
}
@media (max-width:600px) {
  .shell { display:block; }
  .sidebar { height:auto; position:sticky; z-index:20; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px 12px; padding:10px 12px; border-right:0; border-bottom:1px solid var(--line); }
  .brand { padding:0; }
  .brand span:last-child { display:none; }
  .project-switcher { padding:0; }
  .project-switcher > label { display:none; }
  nav { grid-column:1/-1; display:flex; gap:5px; margin:0; overflow-x:auto; padding-bottom:2px; scrollbar-width:none; }
  nav::-webkit-scrollbar { display:none; }
  .nav-item { flex:0 0 auto; min-height:42px; justify-content:center; padding:9px 11px; font-size:11px; }
  .nav-item span { font-size:15px; }
  .sidebar-footer { display:none; }
  main { padding:20px 12px 32px; }
  h1 { font-size:clamp(25px,8vw,32px); }
  .topbar { align-items:flex-start; flex-wrap:wrap; margin-bottom:20px; }
  .topbar-actions { width:100%; }
  .topbar-actions button { flex:1; }
  .toolbar { flex-wrap:wrap; }
  .search { flex:1 0 100%; }
  .toolbar select,.toolbar button { min-height:42px; flex:1; }
  .swimlane-board { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:minmax(82vw,1fr); scroll-snap-type:x proximity; margin-inline:-12px; padding-inline:12px; }
  .swimlane { min-height:56dvh; scroll-snap-align:start; }
  dialog,#board-ticket-dialog,#board-editor-dialog { width:calc(100vw - 16px); max-width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:12px; }
  #board-ticket-dialog .detail-content,.board-editor-content,#ticket-form,#project-form,#epic-form,#epic-tickets-form,.credential-content,.move-lane-form,.field-info-content { width:100%; max-width:100%; padding:18px; }
  dialog input,dialog textarea,dialog select { min-width:0; max-width:100%; font-size:16px; }
  .dialog-heading { gap:12px; }
  .dialog-heading h2 { font-size:21px; }
  .detail-top { flex-direction:column; }
  #board-ticket-dialog .detail-top { padding-right:30px; }
  .ticket-status-control { min-width:0; text-align:left; }
  .ticket-status-select { width:100%; }
  .backlog-row { grid-template-columns:1fr; }
  .backlog-actions { flex-direction:column; }
  .backlog-actions select,.backlog-actions button { min-height:44px; }
  .run-row { grid-template-columns:1fr; }.run-timing { justify-items:start; }.run-facts { grid-template-columns:1fr; }.run-detail { padding:18px; }
  .approval-card-top { flex-direction:column; }.approval-actions { display:grid; grid-template-columns:1fr 1fr; }.approval-actions button { min-height:42px; }
  .dialog-actions { flex-wrap:wrap; }
  .dialog-actions button { flex:1; min-height:42px; }
  .board-lane-row { grid-template-columns:auto auto minmax(0,1fr); }
  .board-lane-row .lane-save { grid-column:2; grid-row:2; }
  .board-lane-row .lane-delete { grid-column:3; grid-row:2; }
  .new-lane-form { grid-template-columns:1fr; }
  .scope-options { grid-template-columns:1fr; }
  .management-form { padding:18px; }
  .epic-ticket-option { grid-template-columns:auto 1fr; }
  .epic-ticket-current { grid-column:2; }
  .toast { left:12px; right:12px; bottom:12px; text-align:center; }
}
@media (max-width:380px) {
  .nav-item { padding-inline:8px; }
  .nav-item { font-size:10px; }
  .swimlane-board { grid-auto-columns:calc(100vw - 36px); }
  .ticket-row { grid-template-columns:1fr; }
  .ticket-row .status { justify-self:start; }
  .dialog-actions { display:grid; grid-template-columns:1fr; }
  .dialog-actions button { width:100%; }
  .credential-value { font-size:11px; }
}
@media (max-height:600px) and (min-width:601px) {
  .sidebar { padding-block:14px; }
  .brand { padding-bottom:14px; }
  .nav-item { padding-block:8px; }
  main { padding-block:22px 30px; }
  dialog { max-height:calc(100dvh - 16px); }
}
