
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Geist:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--ink:#201d2c;--muted:#666276;--line:#e8e5ee;--canvas:#f8f7fb;--white:#fff;--accent:#603ad6;--dark:#181524;--sans:"DM Sans",system-ui,sans-serif;font-family:var(--sans);color:var(--ink);background:var(--canvas)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8e70f5;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Geist,var(--sans)}h1{font-size:37px;letter-spacing:-.055em;line-height:1.13}h2{font-size:17px;letter-spacing:-.022em}h3{font-size:14px}small{font-size:12px}code{font-family:ui-monospace,monospace;overflow-wrap:anywhere}
.shell{min-height:100vh;display:grid;grid-template-columns:226px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--dark);color:#fff;display:flex;flex-direction:column;padding:27px 16px 18px}.brand{display:flex;align-items:center;gap:12px;margin:0 9px 46px}.brand strong{font-size:21px;letter-spacing:-.045em;display:block}.brand small{color:#aaa4bb}.mark{width:39px;height:39px;border-radius:12px;display:grid;place-content:center;grid-auto-flow:column;align-items:baseline;background:#6f48ef;font-size:25px;font-weight:700;line-height:1}.mark span{color:#dfd1ff}.nav-label{font-size:10px;letter-spacing:.14em;color:#aaa4bb;font-weight:700;padding:0 12px;margin-bottom:9px}.nav-btn{display:flex;align-items:center;gap:11px;width:100%;border:0;border-radius:8px;background:none;color:#c4bed3;text-align:left;font-size:14px;padding:11px 12px;margin:3px 0}.nav-btn:hover,.nav-btn[aria-current=page]{background:#31274d;color:white}.nav-btn[aria-current=page]{box-shadow:inset 3px 0 #a283ff}.icon{width:18px;height:18px;flex:none;vertical-align:middle}.sidebar-foot{margin-top:auto;border-top:1px solid #393248;padding:16px 9px 0;color:#c4bed3;font-size:12px}.health-dot{display:inline-block;width:7px;height:7px;background:#7ed5ae;border-radius:100%;margin-right:5px}
.top{height:69px;border-bottom:1px solid var(--line);background:white;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:12px}.crumb{font-size:13px;color:var(--muted)}.crumb span{color:#a39bb0;margin:0 8px}.crumb strong{color:var(--ink)}.top-actions,.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.button{border:1px solid transparent;border-radius:8px;padding:8px 13px;font-weight:700;font-size:13px;min-height:36px}.primary{background:var(--accent);color:#fff}.primary:hover{background:#512cbd}.light{background:#fff;border-color:#ddd8e9;color:var(--ink)}.light:hover{background:#f3eefc}.danger{background:#fcebef;color:#9d253e}.link{border:0;background:none;padding:4px 0;color:var(--accent);font-size:13px;font-weight:700;text-align:left}.link:hover{text-decoration:underline}.icon-button{background:none;border:0;border-radius:6px;font-size:25px;padding:0 8px;color:var(--muted)}
.screen{padding:31px 34px 44px;max-width:1570px;margin:auto}.intro{margin-bottom:23px;display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}.intro p,.subtle{color:var(--muted);font-size:13px;line-height:1.55}.intro p{margin-top:7px}.stack{display:grid;gap:18px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.panel,.stat{background:white;border:1px solid var(--line);border-radius:12px}.stat{padding:15px 16px;text-align:left;color:var(--ink);min-width:0}.stat:hover{border-color:#a989f7}.stat-head{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:700}.stat-symbol{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:#f0e9ff;color:#6843d8}.stat-symbol.teal{background:#e1f5ee;color:#087452}.stat-symbol.amber{background:#fff1df;color:#925409}.stat-symbol.rose{background:#fcecf0;color:#9e3456}.stat strong{display:block;font:700 31px Geist,var(--sans);margin:8px 0 1px;letter-spacing:-.06em}.stat small{color:var(--muted)}
.split{display:grid;grid-template-columns:1.17fr 1fr;gap:16px}.panel-head{padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-body{padding:0 17px 14px}.entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.entry:first-child{border-top:0}.entry small{color:var(--muted);display:block;margin-top:2px}.entry .link{color:var(--ink)}.bar-row{display:grid;grid-template-columns:100px 1fr 24px;gap:9px;align-items:center;font-size:12px;margin:11px 0}.bar{height:7px;background:#eeeaf4;border-radius:9px;overflow:hidden}.bar i{display:block;background:#8159f1;height:100%;border-radius:9px}.bar i.green{background:#21a879}.bar i.amber{background:#df9f47}.bar i.rose{background:#d36b8b}.bar i.gray{background:#a39ab5}
.tag{display:inline-block;font-size:11px;font-weight:700;border-radius:30px;white-space:nowrap;padding:4px 8px;background:#efedf4;color:#555064}.tag.in-progress,.tag.ready-for-test{background:#eee7ff;color:#5630c4}.tag.completed,.tag.passed,.tag.resolved{background:#dff4eb;color:#106344}.tag.high,.tag.investigating,.tag.partial{background:#fff0db;color:#8c510a}.tag.blocked,.tag.failed,.tag.critical,.tag.open{background:#fce9ef;color:#9b2c50}
.toolbar{display:flex;align-items:end;gap:9px;flex-wrap:wrap;padding:14px 16px}.toolbar label{display:grid;gap:5px;font-size:11px;font-weight:700;color:var(--muted)}.toolbar label:first-child{flex:1;min-width:180px}.toolbar input,.toolbar select,.fields input,.fields textarea,.fields select{width:100%;padding:8px 9px;border:1px solid #dfdae9;border-radius:7px;background:white;color:var(--ink);min-height:36px;font-size:13px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th,td{padding:11px 15px;border-top:1px solid var(--line);font-size:13px}th{background:#faf8fe;color:#5e576e;font-size:11px;letter-spacing:.035em;text-transform:uppercase}td:first-child .link{color:var(--ink)}tr:hover td{background:#fcfaff}.table-foot{padding:12px 16px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.empty{padding:15px 0;color:var(--muted);font-size:13px}.board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.board .panel-head,.run .panel-head{border-bottom:1px solid var(--line)}.board .panel-body,.run .panel-body{padding-top:8px}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.template{padding:16px;display:grid;gap:9px;align-content:start}.template .button{justify-self:start}.checks{list-style:none;padding:0;margin:8px 0}.checks label{display:flex;align-items:start;gap:9px;padding:8px 0;font-size:14px}.checks input{accent-color:var(--accent);margin:3px 0 0}.checks input:checked+span{color:var(--muted);text-decoration:line-through}.release-code{display:block;margin-top:4px;font-size:11px;color:#675782}.hosting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.hosting-grid .panel{padding:16px;display:grid;gap:8px}.hosting-grid .button{justify-self:start}.hosting-grid code{padding:8px;background:#f4effc;border-radius:6px;font-size:12px}.note{padding:13px 16px;background:#f1ebfc;border:1px solid #e5dafb;border-radius:8px;color:#4a356f;font-size:13px}
dialog{width:min(650px,calc(100% - 24px));border:1px solid var(--line);border-radius:14px;color:var(--ink);padding:0;max-height:90dvh}dialog::backdrop{background:#1d153ab0}#edit-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;max-height:89dvh}.dialog-head,.dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 19px}.dialog-head{border-bottom:1px solid var(--line)}.dialog-foot{border-top:1px solid var(--line)}.dialog-foot span{flex:1}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:17px 19px;overflow:auto}.fields label{display:grid;gap:5px;align-content:start;color:var(--muted);font-size:12px;font-weight:700}.wide{grid-column:1/-1}.fields textarea{resize:vertical;min-height:65px}.error{color:#a42a46;font-size:13px;padding:0 19px 9px}.error:empty{display:none}.toast{position:fixed;z-index:5;right:19px;bottom:19px;background:#252036;color:white;max-width:min(420px,calc(100vw - 38px));padding:11px 15px;border-radius:8px;font-size:13px}
@media(max-width:1020px){.shell{grid-template-columns:185px minmax(0,1fr)}.top,.screen{padding-left:20px;padding-right:20px}.hosting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.shell{display:block}.sidebar{position:static;height:auto;padding:12px}.brand{margin:0 0 8px}.brand strong{font-size:17px}.mark{width:30px;height:30px;font-size:20px}.sidebar nav{display:flex;overflow:auto;gap:5px}.nav-label,.sidebar-foot{display:none}.nav-btn{width:auto;white-space:nowrap;padding:8px;font-size:12px}.top{height:auto;min-height:55px;padding:9px 12px}.screen{padding:21px 12px}.split{grid-template-columns:1fr}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:32px}}
@media(max-width:470px){.board,.template-grid,.hosting-grid{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.button{padding:7px 9px}.crumb{display:none}.top{justify-content:end}.stat{padding:10px}.stat strong{font-size:25px}}

