:root{--ink:#17221f;--muted:#6c7773;--line:#dfe5e1;--paper:#f4f6f3;--card:#fff;--green:#174f3f;--red:#b94b46}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit}.topbar{height:70px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand>span:last-child{display:grid}.brand small{margin-top:3px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.brand-mark{width:34px;height:34px;padding:8px;display:flex;align-items:flex-end;justify-content:center;gap:3px;border-radius:9px;background:var(--green)}.brand-mark i{width:4px;border-radius:3px;background:#fff}.brand-mark i:nth-child(1){height:8px;opacity:.65}.brand-mark i:nth-child(2){height:15px}.brand-mark i:nth-child(3){height:11px;opacity:.8}.topbar nav{display:flex;align-items:center;gap:18px;color:#66726d;font-size:12px}.topbar nav a{font-weight:700;text-decoration:none}.topbar nav a:hover{color:var(--green)}button{padding:10px 14px;border:0;border-radius:7px;background:var(--green);color:#fff;cursor:pointer;font-weight:700}button.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9fc9b9;outline-offset:2px}.kicker{color:#5d726a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.auth-shell{min-height:100vh;padding:32px;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#e0ebe5,transparent 35%),var(--paper)}.auth-card{width:min(440px,100%);padding:35px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(23,34,31,.1)}.auth-card h1{margin:9px 0 7px;font-size:31px;letter-spacing:-.04em}.auth-card>p,.panel>p{margin:0 0 22px;color:var(--muted);line-height:1.5}.stack{display:grid;gap:15px}.stack.compact{gap:10px}.stack label,.board-actions label{display:grid;gap:6px;color:#56635e;font-size:11px;font-weight:750}.stack input,.stack select,.stack textarea,.board-actions select{width:100%;padding:10px 11px;border:1px solid #cfd8d2;border-radius:7px;background:#fff;color:var(--ink)}.stack small{color:#8b9591;font-weight:400}.alert{margin:14px 0;padding:11px 13px;border-radius:7px;font-size:12px}.alert.error{color:#913f3a;background:#fdecea;border:1px solid #efc5c2}.alert.success{color:#27684e;background:#e6f3eb;border:1px solid #c6e4d2}.admin-shell{padding:34px 30px}.page-heading h1{margin:7px 0 6px;font-size:34px;letter-spacing:-.04em}.page-heading p{margin:0;color:var(--muted)}.admin-grid{margin-top:24px;display:grid;grid-template-columns:minmax(280px,370px) minmax(500px,1fr);gap:18px}.panel{padding:22px;border:1px solid var(--line);border-radius:10px;background:#fff}.panel h2{margin:0 0 8px}.panel h3{margin:24px 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.user-list{display:grid;gap:5px}.user-row{padding:10px;display:flex;justify-content:space-between;gap:10px;border:1px solid transparent;border-radius:7px;text-decoration:none}.user-row:hover,.user-row.active{border-color:#cbd9d1;background:#f1f6f3}.user-row span{display:grid;gap:3px}.user-row small{color:var(--muted)}.user-row em{color:#77827d;font-size:9px;font-style:normal;text-transform:uppercase}.permission-list{margin:18px 0;display:grid;gap:6px}.permission-list h3{margin:14px 0 3px;color:var(--green)}.permission-row{padding:10px;display:grid;grid-template-columns:minmax(150px,1fr) repeat(4,minmax(75px,auto));align-items:center;gap:10px;border:1px solid #edf0ee;border-radius:6px}.permission-row b{font-size:12px}.permission-row label{display:flex;align-items:center;gap:5px;color:#66726d;font-size:9px}.danger-zone{margin-top:25px;padding-top:16px;border-top:1px solid var(--line)}.empty-state,.empty-page{padding:70px 20px;text-align:center;color:var(--muted)}.empty-page h1{color:var(--ink)}.workspace-head{min-height:165px;padding:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px;background:#fff}.project-title{display:grid;justify-items:start}.project-group{margin-bottom:7px;padding:4px 7px;border-radius:4px;color:#315f4f;background:#e8f1ec;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.project-title h1{margin:7px 0 5px;font-size:clamp(28px,3vw,39px);letter-spacing:-.045em}.project-title p{margin:0;color:var(--muted);font-size:13px}.board-actions{display:flex;align-items:flex-end;gap:10px}.board-actions select{min-width:230px;height:38px}.board-alert{margin:14px 30px 0}.filters{height:60px;margin:0 30px;display:flex;align-items:flex-end;gap:4px;border-bottom:1px solid #ccd4cf}.filters button{padding:12px 14px 10px;border-radius:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:12px}.filters button.active{color:var(--green);border-bottom-color:var(--green)}.filters span{margin:0 0 12px auto;color:#87918d;font-size:10px}.board-shell{width:100%;padding:19px 30px 38px;overflow-x:auto}.board{min-width:1450px;display:grid;grid-template-columns:repeat(6,minmax(225px,1fr));gap:11px;align-items:start}.board-column{--stage:#68736f;min-height:400px;border-radius:8px;overflow:hidden;background:#e9edea}.stage-awaiting-information{--stage:#9d7733}.stage-needs-working-on{--stage:#56756b}.stage-working-on{--stage:#286b59}.stage-ready-for-testing{--stage:#3d6e9d}.stage-needs-redoing{--stage:#bd514a}.board-column>header{height:49px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-top:3px solid var(--stage);background:rgba(255,255,255,.7)}.board-column header div{display:flex;align-items:center;gap:7px}.board-column header i{width:8px;height:8px;border-radius:50%;background:var(--stage)}.board-column h2{margin:0;font-size:11px}.board-column header>span{padding:5px 7px;border-radius:20px;background:#fff;color:#68736f;font-size:10px}.column-body{padding:8px;display:grid;gap:7px}.task-card{padding:12px;border:1px solid rgba(22,46,37,.08);border-radius:7px;background:#fff}.card-top,.task-meta{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#77827d;font-size:8px}.card-top small{font-weight:800;text-transform:uppercase}.card-top em{font-style:normal}.task-card h3{margin:9px 0 12px;font-size:12px;line-height:1.4}.task-card h3 a{text-decoration:none}.task-card h3 a:hover{color:var(--green)}.task-meta{padding-top:9px;border-top:1px solid #edf0ee}.empty-column{height:65px;display:grid;place-items:center;border:1px dashed #c9d1cc;border-radius:7px;color:#8d9793;font-size:10px}.compact .board{min-width:1250px;grid-template-columns:repeat(6,minmax(195px,1fr));gap:7px}.compact .board-column{min-height:300px}.compact .board-column>header{height:41px}.compact .column-body{padding:5px;gap:4px}.compact .task-card{padding:7px}.compact .card-top,.compact .task-meta{display:none}.compact .task-card h3{margin:0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}dialog{width:min(590px,calc(100% - 30px));padding:0;border:0;border-radius:12px;box-shadow:0 25px 80px rgba(20,30,27,.25)}dialog::backdrop{background:rgba(15,26,22,.48)}dialog form{padding:24px}.dialog-head{display:flex;justify-content:space-between;gap:15px}.dialog-head h2{margin:5px 0 8px}.icon-button{width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:900px){.topbar{padding:0 18px}.topbar nav>span{display:none}.admin-shell{padding:24px 18px}.admin-grid{grid-template-columns:1fr}.permission-row{grid-template-columns:1fr 1fr 1fr}.workspace-head{padding:25px 18px;align-items:flex-start;flex-direction:column}.board-actions{width:100%}.board-actions form{flex:1}.board-actions select{min-width:0}.filters{margin-inline:18px}.board-shell{padding-inline:18px}}@media(max-width:520px){.brand>span:last-child{display:none}.topbar nav{gap:10px}.permission-row{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}}
