:root{--bg:#e9f1f8;--text:#14202e;--muted:#5d6c7f;--glow1:rgba(14,165,233,.30);--glow2:rgba(167,139,250,.26);--glow3:rgba(45,212,191,.22);--glass:rgba(255,255,255,.58);--glass-border:rgba(255,255,255,.75);--glass-hi:rgba(255,255,255,.55);--solid:#ffffff;--pop:rgba(255,255,255,.95);--line:rgba(20,32,46,.09);--line-strong:rgba(20,32,46,.18);--field:rgba(255,255,255,.65);--accent:#0e7490;--accent-hover:#0b5f77;--accent-soft:rgba(14,116,144,.12);--on-accent:#ffffff;--danger:#b42318;--ok:#15803d;--warn:#b45309;--side-bg:rgba(255,255,255,.5);--side-text:#46566a;--side-strong:#0b1624;--side-hover:rgba(14,116,144,.09);--side-line:rgba(20,32,46,.09);--shadow:0 8px 30px rgba(31,55,90,.10),0 1px 2px rgba(31,55,90,.06);--tag-bg:75% 50%/.16;--tag-fg:60% 30%;--radius:14px;color-scheme:light}:root[data-theme=dark]{--bg:#070d16;--text:#e8eef6;--muted:#93a3b8;--glow1:rgba(14,165,233,.26);--glow2:rgba(139,92,246,.22);--glow3:rgba(20,184,166,.16);--glass:rgba(22,34,52,.55);--glass-border:rgba(255,255,255,.09);--glass-hi:rgba(255,255,255,.05);--solid:#131d2b;--pop:rgba(16,26,40,.94);--line:rgba(255,255,255,.09);--line-strong:rgba(255,255,255,.18);--field:rgba(255,255,255,.05);--accent:#38bdf8;--accent-hover:#7dd3fc;--accent-soft:rgba(56,189,248,.16);--on-accent:#04202d;--danger:#ff8a80;--ok:#4ade80;--warn:#fbbf24;--side-bg:rgba(10,18,30,.6);--side-text:#9fb0c6;--side-strong:#ffffff;--side-hover:rgba(255,255,255,.07);--side-line:rgba(255,255,255,.08);--shadow:0 8px 30px rgba(0,0,0,.35);--tag-bg:70% 55%/.22;--tag-fg:85% 80%;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#070d16;--text:#e8eef6;--muted:#93a3b8;--glow1:rgba(14,165,233,.26);--glow2:rgba(139,92,246,.22);--glow3:rgba(20,184,166,.16);--glass:rgba(22,34,52,.55);--glass-border:rgba(255,255,255,.09);--glass-hi:rgba(255,255,255,.05);--solid:#131d2b;--pop:rgba(16,26,40,.94);--line:rgba(255,255,255,.09);--line-strong:rgba(255,255,255,.18);--field:rgba(255,255,255,.05);--accent:#38bdf8;--accent-hover:#7dd3fc;--accent-soft:rgba(56,189,248,.16);--on-accent:#04202d;--danger:#ff8a80;--ok:#4ade80;--warn:#fbbf24;--side-bg:rgba(10,18,30,.6);--side-text:#9fb0c6;--side-strong:#ffffff;--side-hover:rgba(255,255,255,.07);--side-line:rgba(255,255,255,.08);--shadow:0 8px 30px rgba(0,0,0,.35);--tag-bg:70% 55%/.22;--tag-fg:85% 80%;color-scheme:dark}}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;background-color:var(--bg);background-image:radial-gradient(900px 620px at 6% -8%,var(--glow1),transparent 62%),radial-gradient(820px 600px at 100% 6%,var(--glow2),transparent 58%),radial-gradient(760px 560px at 55% 112%,var(--glow3),transparent 62%);background-attachment:fixed}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.55rem;letter-spacing:-.015em;margin:0}h1,h2{font-weight:650}h2{font-size:1rem;margin:0 0 .75rem}.muted{color:var(--muted)}.error{color:var(--danger)}.card,.login .card,.sidebar{background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);border:1px solid var(--glass-border);box-shadow:var(--shadow),inset 0 1px 0 var(--glass-hi)}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.card,.sidebar{background:var(--solid)}}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh;grid-gap:0;gap:0}.sidebar{position:-webkit-sticky;position:sticky;top:.75rem;height:calc(100vh - 1.5rem);margin:.75rem 0 .75rem .75rem;border-radius:18px;background:var(--side-bg);display:flex;flex-direction:column;padding:1.1rem .75rem;color:var(--side-text)}.brand{display:flex;align-items:center;gap:.65rem;padding:.2rem .55rem 1.2rem;color:var(--side-strong)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#22d3ee,#6366f1);color:#fff;font-weight:800;box-shadow:0 4px 14px rgba(34,211,238,.35)}.brand-name{font-weight:650;letter-spacing:.01em}.side-nav{display:flex;flex-direction:column;gap:3px;flex:1 1}.side-nav a{display:flex;align-items:center;gap:.7rem;padding:.6rem .75rem;border-radius:10px;color:var(--side-text);font-weight:500;transition:background .15s,color .15s}.side-nav a:hover{background:var(--side-hover);color:var(--side-strong);text-decoration:none}.side-nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.side-nav .side-admin{margin-top:auto}.side-foot{border-top:1px solid var(--side-line);padding-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.side-prefs{display:grid;grid-template-columns:1fr auto;grid-gap:.5rem;gap:.5rem;padding:0 .35rem}.side-user{border-top:1px solid var(--side-line);padding-top:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.side-user form{margin:0}.pref-select{margin:0;width:100%;padding:.4rem .6rem;font-size:.82rem;font-weight:600;border-radius:9px;background-color:var(--side-hover);color:var(--side-text);border:1px solid var(--side-line);cursor:pointer}.pref-select:hover{color:var(--side-strong)}.user{display:flex;align-items:center;gap:.65rem;padding:0 .35rem}.avatar{display:grid;width:34px;height:34px;background:linear-gradient(135deg,#38bdf8,#8b5cf6);color:#fff;font-size:.8rem;font-weight:650;flex:none}.user-meta{display:flex;flex-direction:column;min-width:0;line-height:1.2}.user-meta b{color:var(--side-strong);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta small{color:var(--side-text)}.side-actions{display:flex;align-items:center;justify-content:space-between;padding:0 .35rem}.lang{color:var(--side-text);font-weight:600;font-size:.8rem;border:1px solid var(--side-line);border-radius:8px;padding:.15rem .6rem}.lang:hover{color:var(--side-strong);text-decoration:none;background:var(--side-hover)}.icon-btn{margin:0;padding:.4rem;background:transparent;color:var(--side-text);border-radius:8px;line-height:0}.icon-btn:hover{background:var(--side-hover);color:var(--side-strong)}.content{padding:1.75rem 2rem 3rem;max-width:1200px;width:100%}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-head .sub{color:var(--muted);margin:.15rem 0 0}.seg{display:grid;grid-template-columns:1fr 1fr;grid-gap:3px;gap:3px;padding:3px;border-radius:11px;background:var(--side-hover);border:1px solid var(--side-line)}.seg button{margin:0;padding:.35rem .4rem;background:transparent;color:var(--side-text);border-radius:8px;font-size:.8rem;font-weight:600;gap:.35rem}.seg button:hover{background:transparent;color:var(--side-strong)}.seg button.on{background:var(--solid);color:var(--accent);box-shadow:0 1px 4px rgba(0,0,0,.18)}.card{border-radius:var(--radius);padding:1.1rem 1.3rem;margin-bottom:1rem}.grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}.grid>.card{margin-bottom:0}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}tbody tr{transition:background .12s}tbody tr:hover{background:var(--accent-soft)}tr:last-child td{border-bottom:0}label{display:block;font-size:.8rem;font-weight:550;color:var(--muted);margin:.7rem 0 .3rem}input,select,textarea{width:100%;padding:.5rem .7rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--field);color:var(--text);font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}select option{color:#14202e;background:#fff}input[type=checkbox]{width:auto;margin-right:.45rem;accent-color:var(--accent)}label:has(>input[type=checkbox]){display:flex;align-items:center;color:var(--text);font-weight:500;font-size:.9rem}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1.05rem;border:0;border-radius:10px;background:var(--accent);color:var(--on-accent);font:inherit;font-weight:600;cursor:pointer;margin-top:.9rem;box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 35%,transparent);transition:background .15s,transform .05s}.btn:hover,button:hover{background:var(--accent-hover);text-decoration:none;color:var(--on-accent)}button:active{transform:translateY(1px)}.btn{margin-top:0}button.link{box-shadow:none;padding:0;margin:0;font-weight:500}button.link,button.link:hover{background:none;color:var(--accent)}button.link:hover{text-decoration:underline}button.danger{background:var(--danger)}.row{display:flex;gap:.85rem;flex-wrap:wrap;align-items:flex-end}.row>*{flex:1 1;min-width:150px}.filters label{margin-top:0}.filters[data-pending]{opacity:.8}.filter-checks{flex:0 0 auto;min-width:0;display:flex;flex-direction:column;gap:.15rem;padding-bottom:.35rem}.filter-checks label{margin:0}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem}.kpi{border:1px solid var(--line);border-radius:12px;padding:.6rem .85rem;background:var(--glass-hi)}.kpi span{font-size:.75rem}.kpi b{display:block;font-size:1.3rem;font-weight:650;letter-spacing:-.01em}.kpi.warn{border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.kpi.warn b{color:var(--danger)}.scope{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line)}.note{margin:.5rem 0;padding:.5rem .75rem;border-radius:10px;font-size:.88rem;border:1px solid var(--line);background:var(--glass-hi)}.note.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.note.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.badge{display:inline-block;padding:.12rem .65rem;border-radius:999px;background:var(--glass-hi);border:1px solid var(--line-strong);font-size:.78rem;font-weight:600;white-space:nowrap}.badge.done{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok);border-color:transparent}.badge.prio-high{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn);border-color:transparent}.badge.prio-urgent{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger);border-color:transparent}.badge.prio-low{color:var(--muted)}.tag{--h:200;display:inline-flex;align-items:center;gap:.3rem;padding:.08rem .65rem;margin:0 .25rem .2rem 0;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.5;background:hsl(var(--h) var(--tag-bg));color:hsl(var(--h) var(--tag-fg));border:1px solid hsl(var(--h) 70% 50%/.22)}.tag.equip{border-radius:7px}.tag.equip:before{content:"";width:.42rem;height:.42rem;border-radius:2px;background:currentColor;opacity:.75;flex:none}.tag-x{margin:0 -.25rem 0 0;padding:0 .3rem;background:transparent;box-shadow:none;color:inherit;border-radius:999px;font-size:1rem;line-height:1.2;font-weight:700;opacity:.65}.tag-x:hover{background:hsl(var(--h) 75% 50%/.25);color:inherit;opacity:1}.confirm{margin-top:1rem}.confirm p{margin:.35rem 0}.confirm-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.6rem}.confirm-actions button{margin-top:0}.btn.ghost,button.ghost{background:transparent;color:var(--text);border:1px solid var(--line-strong);box-shadow:none}.btn.ghost:hover,button.ghost:hover{background:var(--accent-soft);color:var(--text)}.taginput{position:relative}.taginput-box{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem;padding:.3rem .4rem;min-height:2.5rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--field);cursor:text}.taginput-box:focus-within{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.taginput-field{flex:1 1;min-width:8rem;width:auto;border:0;padding:.25rem .3rem;background:transparent}.taginput-field:focus{outline:none}.taginput-ok{margin:0;padding:.25rem .7rem;font-size:.8rem;box-shadow:none}.taginput-ok:disabled{opacity:.4;cursor:default}.taginput-menu{position:absolute;z-index:20;left:0;right:0;top:100%;margin:.3rem 0 0;padding:.3rem;list-style:none;background:var(--pop);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 14px 40px rgba(8,16,30,.28);max-height:260px;overflow:auto}.taginput-menu li{padding:.4rem .55rem;border-radius:8px;cursor:pointer;display:flex;align-items:center}.taginput-menu li .tag{margin:0}.taginput-menu li.active{background:var(--accent-soft)}main.login{max-width:410px;margin:12vh auto 0;padding:0 1.25rem}.login .brand{padding:0 0 1.2rem;color:var(--text)}.login .card{padding:1.6rem}.login button{width:100%}@media (max-width:820px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;margin:.5rem;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .75rem}.brand{padding:0}.side-nav{flex-direction:row;flex:1 1 100%;order:3;overflow-x:auto}.side-nav .side-admin{margin-top:0}.side-foot{border:0;padding:0;flex-direction:row;align-items:center;margin-left:auto}.user-meta{display:none}.side-prefs{padding:0}.side-user{border:0;padding:0}.content{padding:1.1rem 1rem 2.5rem}}.rte{border:1px solid var(--line-strong);border-radius:10px;background:var(--field);margin:.35rem 0 .6rem;overflow:hidden}.rte-bar{display:flex;gap:.2rem;padding:.3rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.rte-btn{margin:0;padding:.2rem .6rem;min-width:2rem;background:transparent;color:var(--text);box-shadow:none;font-weight:700;border-radius:7px}.rte-btn:hover{background:var(--accent-soft);color:var(--text)}.rte-btn.on{background:var(--accent);color:var(--on-accent)}.rte-content{padding:.6rem .8rem;outline:none}.rte-content p{margin:0 0 .5rem}.rte-content h3{margin:.6rem 0 .3rem;font-size:1.05rem}.rte-content ol,.rte-content ul{margin:0 0 .5rem;padding-left:1.4rem}.rte-content blockquote{margin:0 0 .5rem;padding-left:.8rem;border-left:3px solid var(--line-strong);color:var(--muted)}.img-rows{display:flex;flex-direction:column;gap:.6rem;margin:.5rem 0}.img-row{display:flex;gap:.75rem;align-items:center}.img-thumb{width:84px;height:64px;border-radius:8px;background:var(--accent-soft);overflow:hidden;flex:none}.img-thumb img{width:100%;height:100%;object-fit:cover;display:block}.img-fields{flex:1 1;display:flex;flex-direction:column;gap:.35rem}.img-row button.link{margin:0}.chapter-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.chapter-tools{display:flex;gap:.4rem}.chapter-tools button{margin-top:0;padding:.3rem .7rem}.danger-text{color:var(--danger)!important}button:disabled{opacity:.4;cursor:default}table.interventions tbody tr{position:relative;cursor:pointer}a.rowlink{color:inherit;font-weight:600}a.rowlink:after{content:"";position:absolute;inset:0}table.interventions td.sel,table.interventions th.sel{width:2rem;position:relative;z-index:1}.sum-text{color:var(--muted);font-size:.85rem;margin-top:.15rem}.bar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:.9rem}.bar>.btn,.bar>button{margin-top:0;box-sizing:border-box;min-height:2.5rem;line-height:1.2}.cal-bar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.cal-bar .btn,.cal-bar .seg a{margin:0}.cal-bar .btn{padding:.35rem .8rem;min-height:0}.cal-title{min-width:9rem;text-align:center;text-transform:capitalize;font-size:1.05rem}.seg a{padding:.35rem .8rem;border-radius:8px;color:var(--side-text);font-weight:600;font-size:.85rem}.seg a.on{background:var(--solid);color:var(--accent);box-shadow:0 1px 4px rgba(0,0,0,.18)}.seg{display:inline-flex;gap:.2rem;padding:.2rem;border-radius:10px;background:var(--accent-soft)}.cal-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-left:auto}.cal-filters select{width:auto;min-width:10rem}.cal-legend{display:flex;gap:.5rem;align-items:center;color:var(--muted);font-size:.8rem;margin:.6rem 0}.lg{display:inline-block;width:.9rem;height:.9rem;border-radius:4px;margin-left:.6rem}.v-planned{background:color-mix(in srgb,var(--accent) 35%,transparent)}.v-done{background:color-mix(in srgb,#3fb27f 45%,transparent)}.hol{background:color-mix(in srgb,#e0a030 38%,transparent)}.cal-year{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:1rem;gap:1rem}.mini{padding:.5rem;border:1px solid var(--line);border-radius:12px}.mini-title{display:block;text-transform:capitalize;font-weight:700;margin-bottom:.3rem;color:var(--text)}.mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:2px;gap:2px}.mini-grid .wd{text-align:center;font-size:.65rem;color:var(--muted)}.cal-day{text-align:center;font-size:.72rem;padding:.22rem 0;border-radius:5px;color:var(--text);text-decoration:none}.cal-day.out{visibility:hidden}.cal-day.we{color:var(--muted)}.cal-day.hol{background:color-mix(in srgb,#e0a030 38%,transparent);font-weight:700}.cal-day.v-planned{background:color-mix(in srgb,var(--accent) 40%,transparent);font-weight:700}.cal-day.v-done{background:color-mix(in srgb,#3fb27f 50%,transparent);font-weight:700}.cal-day.today{outline:2px solid var(--accent)}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.cal-month .wd{text-align:center;font-size:.75rem;font-weight:700;color:var(--muted);text-transform:capitalize;padding:.2rem 0}.cal-day.big{min-height:6.2rem;text-align:left;padding:.3rem .4rem;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:2px;background:transparent;font-weight:400}.cal-day.big.out{visibility:visible;opacity:.35}.cal-day.big.hol{background:color-mix(in srgb,#e0a030 22%,transparent)}.cal-day.big.v-done,.cal-day.big.v-planned{background:transparent}.cal-day.big .n{font-weight:700;font-size:.8rem}.cal-day.big .hl{font-size:.65rem;color:#b97a10}.chip{display:block;font-size:.68rem;padding:.1rem .35rem;border-radius:5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;background:color-mix(in srgb,var(--accent) 40%,transparent)}.chip.done{background:color-mix(in srgb,#3fb27f 50%,transparent)}fieldset.techs{border:1px solid var(--line);border-radius:10px;margin:.6rem 0;display:flex;gap:.4rem 1.2rem;flex-wrap:wrap;padding:.5rem .8rem}fieldset.techs legend{color:var(--muted);font-size:.8rem;font-weight:600;padding:0 .3rem}.tabs{display:flex;gap:.3rem;margin:-.3rem 0 1rem;border-bottom:1px solid var(--line)}.tabs a{padding:.55rem 1rem;color:var(--muted);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a.on{color:var(--accent);border-bottom-color:var(--accent)}.dash-period{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}.dash-period label{margin:0}.dash-period select{width:auto}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));grid-gap:.8rem;gap:.8rem;margin-bottom:1rem}.tile{display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem;border-radius:var(--radius);background:var(--glass,var(--solid));border:1px solid var(--line);color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}a.tile:hover{border-color:var(--accent);text-decoration:none}.tile-label{font-size:.75rem;line-height:1.25;min-height:2.5em;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tile-value{font-size:1.9rem;font-weight:700;line-height:1.1}.tile-value.warn{color:var(--warn)}.tile-value.over{color:var(--danger)}.tile-sub{font-size:.78rem;color:var(--muted)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));grid-gap:1rem;gap:1rem}.dash-grid>.card{margin-bottom:0}.dash-grid .span2{grid-column:span 2}@media (max-width:900px){.dash-grid .span2{grid-column:auto}}.linechart{width:100%;height:190px}.linechart .grid{stroke:var(--line)}.linechart .axis{fill:var(--muted);font-size:10px}.ln-created{stroke:var(--accent);fill:var(--accent)}.ln-closed{stroke:#3fb27f;fill:#3fb27f}.ln-created-bg{background:var(--accent)}.ln-closed-bg{background:#3fb27f}.bars{display:flex;flex-direction:column;gap:.55rem}.bar-row{display:grid;grid-template-columns:minmax(6rem,34%) 1fr auto;grid-gap:.6rem;gap:.6rem;align-items:center;font-size:.88rem}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-text{color:var(--muted);font-size:.8rem;white-space:nowrap}.bar-track{height:.7rem;background:var(--accent-soft);overflow:hidden}.bar-fill,.bar-track{border-radius:99px;display:block}.bar-fill{height:100%;background:var(--accent)}.bar-fill.warn{background:var(--warn)}.bar-fill.over{background:var(--danger)}.mini-tiles{display:flex;gap:2rem;margin-bottom:.8rem}.mini-tiles div{display:flex;flex-direction:column}.mini-tiles b{font-size:1.5rem}.sub-h{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:1rem 0 .5rem}.stack{position:relative;display:flex;height:.85rem;border-radius:99px;background:var(--accent-soft);overflow:hidden}.stack .seg{display:block;height:100%}.seg-ok{background:#3fb27f}.seg-warn{background:var(--warn)}.seg-over{background:var(--danger)}.seg-call{background:#8a7bd6}.seg-planned{background:color-mix(in srgb,var(--accent) 70%,transparent)}.stack-marker{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--text)}.crow{padding:.9rem 0;border-bottom:1px solid var(--line)}.crow:last-child{border-bottom:0}.crow:first-child{padding-top:0}.crow-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.crow-line{display:grid;grid-template-columns:9rem 1fr minmax(12rem,auto);grid-gap:.8rem;gap:.8rem;align-items:center;margin:.3rem 0}.crow-k{font-size:.78rem;color:var(--muted);font-weight:600}.crow-v{font-size:.82rem;white-space:nowrap}.crow-v.warn{color:var(--warn);font-weight:700}.crow-v.over{color:var(--danger);font-weight:700}.crow-extra{margin:.2rem 0 0 9.8rem;font-size:.78rem}@media (max-width:800px){.crow-line{grid-template-columns:1fr}.crow-extra{margin-left:0}.crow-v{white-space:normal}}ul.todo{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem;font-size:.88rem}.todo .over{color:var(--danger);font-weight:700}.board-filters{margin:0 0 1rem;justify-content:flex-start}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));grid-gap:.8rem;gap:.8rem;padding-bottom:.6rem;align-items:start}.col{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--accent-soft) 55%,transparent);min-width:0}.col>header{display:flex;justify-content:space-between;align-items:center;padding:.65rem .8rem;border-bottom:1px solid var(--line);font-weight:700}.col.warn>header{border-top:3px solid var(--warn)}.col.done>header,.col.warn>header{border-radius:var(--radius) var(--radius) 0 0}.col.done>header{border-top:3px solid #3fb27f}.col-count{background:var(--solid);border-radius:99px;padding:0 .55rem;font-size:.78rem;color:var(--muted)}.col-body{padding:.6rem;display:flex;flex-direction:column;gap:.55rem}.col-empty{text-align:center;margin:.5rem 0}.kcard{display:flex;flex-direction:column;gap:.3rem;padding:.65rem .75rem;border-radius:10px;background:var(--solid);border:1px solid var(--line);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.08)}.kcard:hover{border-color:var(--accent);text-decoration:none}.k-top{display:flex;justify-content:space-between;align-items:center}.k-num{font-size:.75rem;color:var(--muted);font-weight:600}.k-title{font-weight:600;line-height:1.25}.k-client{font-size:.8rem;color:var(--muted)}.k-tags{display:flex;flex-wrap:wrap;gap:.2rem}.k-foot{display:flex;align-items:center;gap:.5rem;margin-top:.2rem;font-size:.78rem}.avatar{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:.65rem;font-weight:700}.avatar.none{background:var(--accent-soft);color:var(--muted)}.col-more{text-align:center;font-size:.82rem;padding:.3rem}.content:has(.board){max-width:1900px}.msel,.msel>summary{position:relative}.msel>summary{list-style:none;cursor:pointer;padding:.55rem 1.8rem .55rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm,8px);background:var(--solid);color:var(--text);min-width:11rem;max-width:16rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msel>summary::-webkit-details-marker{display:none}.msel>summary:after{content:"▾";position:absolute;right:.7rem;color:var(--muted)}.msel.on>summary{border-color:var(--accent);color:var(--accent);font-weight:600}.msel-list{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:100%;max-height:18rem;overflow:auto;padding:.4rem;border:1px solid var(--line);border-radius:var(--radius-sm,8px);background:var(--solid);box-shadow:0 8px 24px rgba(0,0,0,.25);display:flex;flex-direction:column}.msel-list label{display:flex;align-items:center;gap:.5rem;margin:0;padding:.3rem .5rem;border-radius:6px;cursor:pointer;white-space:nowrap;font-weight:400}.msel-list label:hover{background:var(--accent-soft)}.msel-list input{width:auto;margin:0}fieldset.plain{border:0;margin:0;padding:0;min-width:0}fieldset.plain:disabled{opacity:.55}.assign-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.assign-head h2{margin:0}.assignee-pill{padding:.25rem .8rem;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-weight:600}.assignee-pill.none{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.assign-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:.6rem}.assign-form{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.assign-form input{flex:1 1 16rem;margin:0}.assign-form select{width:auto;margin:0}.assign-form button{margin:0}ul.history{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;font-size:.9rem}.h-comment{color:var(--muted);font-style:italic;margin-top:.1rem}.ask-assign{border:1px solid var(--warn);border-radius:var(--radius);padding:1rem;margin-top:1rem;background:color-mix(in srgb,var(--warn) 10%,transparent)}.ask-assign h3{margin:0 0 .3rem}.ask-assign .bar{margin-top:.6rem}a.user{color:inherit;border-radius:10px;padding:.25rem .35rem;flex:1 1;min-width:0}a.user:hover{background:var(--side-hover);text-decoration:none}ul.pw-rules{list-style:none;padding:0;margin:.3rem 0 .8rem;display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.82rem;color:var(--muted)}ul.pw-rules li:before{content:"○ "}ul.pw-rules li.ok{color:#2f9e6b}ul.pw-rules li.ok:before{content:"✓ "}ul.pw-rules li.ko{color:var(--danger)}ul.pw-rules li.ko:before{content:"✗ "}form.card h2:not(:first-child){margin-top:1.4rem}