@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #14222e;--muted: #566875;--paper: #f4f7f9;--surface: #ffffff;--line: #d3dce3;--pool: #0b4f79;--pool-strong: #083b5b;--pool-soft: #e2edf4;--rope: #d93a2f;--ok: #2b6a45;--ok-soft: #e4f1e8;--warn: #8f5d0e;--warn-soft: #fbf0dc;--danger: #a3241b;--danger-soft: #fbe6e3;--radius: 6px;--font-body: "Atkinson Hyperlegible", system-ui, sans-serif;--font-display: "Barlow Condensed", "Arial Narrow", sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--font-body)}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.1;margin:0}h1{font-size:2.25rem;letter-spacing:.005em}h2{font-size:1.5rem}h3{font-size:1.2rem;font-weight:500}p{margin:0;max-width:72ch}a{color:var(--pool)}:focus-visible{outline:3px solid #f2b705;outline-offset:2px}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100%}.sidebar{position:relative;z-index:20;background:var(--pool-strong);color:#e8f1f7;padding:20px 16px 24px;display:flex;flex-direction:column;gap:24px}.brand{display:grid;gap:8px;justify-items:center;text-align:center}.brand img{display:block;width:100%;max-width:210px;height:auto;background:#fff;border-radius:var(--radius);padding:10px 12px}.brand span{font-size:.85rem;color:#b9cfdd;letter-spacing:.04em}.nav{display:grid;gap:4px}.nav-group{position:relative}.nav-top,.nav-title{display:block;width:100%;text-align:left;font-family:var(--font-display);font-size:1.12rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#e8f1f7;background:none;border:0;border-radius:var(--radius);padding:10px 12px;text-decoration:none;cursor:pointer}.nav-title:after{content:"›";float:right;opacity:.6}.nav-top:hover,.nav-title:hover,.nav-group.open .nav-title{background:#ffffff1a}.nav-top[aria-current=page],.nav-title.current{background:#fff;color:var(--pool-strong)}.nav-flyout{position:absolute;left:100%;top:-6px;z-index:30;min-width:250px;margin-left:8px;padding:10px;display:grid;gap:2px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px #072d4638}.nav-flyout:before{content:"";position:absolute;inset:0 auto 0 -12px;width:12px}.nav-flyout strong{font-family:var(--font-display);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 10px 6px}.nav-flyout a{color:var(--ink, #12202b);text-decoration:none;padding:8px 10px;border-radius:var(--radius)}.nav-flyout a:hover{background:var(--pool-soft)}.nav-flyout a[aria-current=page]{background:var(--pool-strong);color:#fff;font-weight:700}.user-box{margin-top:auto;font-size:.9rem;color:#b9cfdd;display:grid;gap:8px}.user-box strong{color:#fff}.main{padding:32px 40px 64px;min-width:0}.page{max-width:1080px;display:grid;gap:24px}.page-head{display:grid;gap:6px}.page-head p{color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;display:grid;gap:16px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px 20px}.field{display:grid;gap:4px;align-content:start}.field.wide{grid-column:1 / -1}.field>label,.field-label{font-weight:700;font-size:.92rem}.field small{color:var(--muted);font-size:.85rem}input,select,textarea{font:inherit;color:inherit;padding:8px 10px;border:1px solid #b8c6d0;border-radius:var(--radius);background:#fff;min-width:0}input:disabled{background:var(--paper);color:var(--muted)}input.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.check{display:flex;align-items:center;gap:8px;font-weight:400}.check input{width:18px;height:18px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}button{font:inherit;font-weight:700;border-radius:var(--radius);padding:8px 16px;border:1px solid var(--pool);background:var(--pool);color:#fff;cursor:pointer}button:hover{background:var(--pool-strong)}button.secondary{background:#fff;color:var(--pool)}button.secondary:hover{background:var(--pool-soft)}button.link{background:none;border:none;color:var(--pool);padding:4px 6px;text-decoration:underline}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.danger:hover{background:#8f1f1f}button:disabled{opacity:.55;cursor:default}.notice{border-radius:var(--radius);padding:12px 16px;border-left:5px solid}.notice ul{margin:6px 0 0;padding-left:20px}.notice.error{background:var(--danger-soft);border-color:var(--danger);color:#5c140f}.notice.ok{background:var(--ok-soft);border-color:var(--ok);color:#173d27}.notice.warn{background:var(--warn-soft);border-color:var(--warn);color:#4d3207}.notice.info{background:var(--pool-soft);border-color:var(--pool)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th{text-align:left;font-weight:700;color:var(--muted);border-bottom:2px solid var(--line);padding:8px 10px;white-space:nowrap}td{border-bottom:1px solid var(--line);padding:9px 10px;vertical-align:middle}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.inactive td{color:var(--muted)}.tag{display:inline-block;font-size:.8rem;padding:1px 8px;border-radius:99px;background:var(--pool-soft);color:var(--pool-strong);margin:0 4px 2px 0}.tag.off{background:#eceff1;color:var(--muted)}.setup-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.setup-list li{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.setup-list li:last-child{border-bottom:none}.mark{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:700;border:2px solid var(--line);color:var(--muted)}.mark.done{background:var(--ok);border-color:var(--ok);color:#fff}.setup-list .what{display:grid}.setup-list .what span{color:var(--muted);font-size:.9rem}.season-banner{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.season-banner .code{font-family:var(--font-display);font-size:3rem;font-weight:600;color:var(--pool);line-height:1}.login{min-height:100%;display:grid;place-items:center;padding:24px;background:repeating-linear-gradient(to right,transparent 0 calc(25% - 4px),rgba(11,79,121,.06) calc(25% - 4px) 25%),var(--paper)}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.login-card .rope{height:8px;background:repeating-linear-gradient(to right,var(--rope) 0 22px,#fff 22px 34px);border-bottom:1px solid var(--line)}.login-card form{padding:28px;display:grid;gap:16px}.login-card h1{font-size:2rem}.login-card p{color:var(--muted)}@media (max-width: 820px){.shell{grid-template-columns:1fr}.sidebar{padding:16px}.brand img{max-width:170px}.nav{display:flex;flex-wrap:wrap;gap:4px}.nav-top,.nav-title{width:auto;font-size:1rem;padding:8px 10px}.nav-group:nth-last-child(-n+3) .nav-flyout{left:auto;right:0}.nav-title:after{content:"▾";float:none;margin-left:6px}.nav-flyout{left:0;top:100%;margin:6px 0 0}.nav-flyout:before{inset:-10px 0 auto 0;width:auto;height:10px}.user-box{margin-top:0}.main{padding:20px 16px 48px}h1{font-size:1.9rem}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.toolbar .field{min-width:180px}.toolbar .grow{flex:1 1 260px}.count{color:var(--muted);font-size:.92rem}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--pool-soft)}a.row-link{color:inherit;text-decoration:none;font-weight:700}a.row-link:hover{text-decoration:underline}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.danger{background:var(--danger-soft);color:var(--danger)}.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.member-number{font-family:var(--font-display);font-size:2.4rem;font-weight:600;color:var(--pool);line-height:1}.facts{display:flex;gap:10px 28px;flex-wrap:wrap;color:var(--muted)}.facts strong{color:var(--ink)}.account-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:grid;gap:12px;background:var(--paper)}.account-card.inactive{opacity:.7}.account-card .iban{font-size:1.1rem;font-weight:700}.issue-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:.88rem}.issue-list li:before{content:"● "}.issue-list li.ERROR{color:var(--danger)}.issue-list li.WARNING{color:var(--warn)}.issue-list li.INFO{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.stat{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:#fff}.stat b{display:block;font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1.1;color:var(--pool)}.stat.warn b{color:var(--warn)}.stat.danger b{color:var(--danger)}.segmented{display:inline-flex;border:1px solid var(--pool);border-radius:var(--radius);overflow:hidden}.segmented button{border:none;border-radius:0;background:#fff;color:var(--pool);padding:6px 12px}.segmented button[aria-pressed=true]{background:var(--pool);color:#fff}.steps{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0;counter-reset:s}.steps li{counter-increment:s;color:var(--muted)}.steps li:before{content:counter(s) ". "}.steps li[aria-current=step]{color:var(--pool-strong);font-weight:700}.steps li+li:after{content:""}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.link-file input[type=file]{font-size:.85rem;padding:2px;border:none;background:none;max-width:230px}.drop{border:2px dashed #9fb4c3;border-radius:var(--radius);padding:24px;background:var(--paper);display:grid;gap:10px;justify-items:start}h2+.form-grid{margin-top:10px}button.chip{background:var(--pool-soft);color:var(--pool-strong);border:1px solid #b9cfdd;border-radius:99px;padding:4px 12px;font-size:.9rem;font-weight:400;text-align:left}button.chip:hover{background:#d2e3ee}.review{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;align-items:start}.review .viewer{position:sticky;top:12px;height:calc(100vh - 40px);min-height:520px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#525659}.review .viewer iframe{width:100%;height:100%;border:0;display:block}.drop.over{border-color:var(--pool);background:var(--pool-soft)}.progress{height:8px;border-radius:99px;background:var(--line);overflow:hidden;width:min(420px,100%)}.progress>span{display:block;height:100%;background:var(--pool);transition:width .2s}.read-value{font-variant-numeric:tabular-nums}@media (max-width: 1100px){.review{grid-template-columns:1fr}.review .viewer{position:static;height:70vh}}.lines-table td{padding:4px 6px}.lines-table td input{width:100%}.lines-table td.num input{max-width:130px;text-align:right}.lines-table tfoot td{border-bottom:none}.warn-text{color:var(--warn)}.lines-table{width:100%;table-layout:auto}.lines-table td:first-child{width:99%;min-width:220px}.lines-table td.num input{width:110px}a.button,label.button{display:inline-block;text-decoration:none;border:1px solid var(--pool);border-radius:var(--radius);padding:8px 16px;font-weight:700;background:var(--pool);color:#fff}a.button.secondary,label.button.secondary{background:#fff;color:var(--pool)}a.button.secondary:hover,label.button.secondary:hover{background:var(--pool-soft)}.lines-table td input[list]{min-width:170px}.lines-table.grant-items th:first-child,.lines-table.grant-items td:first-child{width:28px;min-width:0}.lines-table.grant-items td:nth-child(4){min-width:200px;width:99%}.grant-items td.num input{width:90px}.grant-items td input[list]{min-width:130px;width:140px}.assembly-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 800px){.assembly-grid{grid-template-columns:1fr}}table.assembly{width:100%}table.assembly tfoot td{border-top:2px solid var(--line)}.assembly-result{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;padding:12px 16px;border-radius:var(--radius);background:var(--pool-soft);color:var(--pool-strong);font-weight:700}.assembly-result strong{font-family:var(--font-display);font-size:1.8rem}.assembly-result.danger{background:var(--danger-soft);color:var(--danger)}tr.muted td{color:var(--muted)}.lines-table.budget-table td:first-child{min-width:180px;width:40%}.budget-table td.num input{width:90px}.budget-table td select{max-width:170px;margin-top:4px}.budget-table .tag button.link{padding:0 0 0 4px;text-decoration:none}.sticky-actions{position:sticky;bottom:0;background:var(--paper);padding:12px 0;z-index:2}.recon-list{display:grid;gap:10px;margin-top:16px}.recon-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:12px 14px}.recon-card.matched{border-left:4px solid var(--ok)}.recon-card.ignored{border-left:4px solid var(--line);opacity:.85}.recon-card.pending{border-left:4px solid var(--warn)}.recon-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.recon-head .num{text-align:right;white-space:nowrap}.recon-body{margin-top:8px;display:grid;gap:6px}.recon-proposal{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.recon-proposal>span:nth-child(2){flex:1;min-width:200px}.recon-actions{margin-top:4px}.recon-form{margin-top:8px;padding:10px;background:var(--paper);border-radius:var(--radius)}.ok-text{color:var(--ok)}.doc-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.1fr);gap:20px;align-items:start}@media (max-width: 960px){.doc-layout{grid-template-columns:1fr}}.doc-preview{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 32px;font-size:.95rem;line-height:1.5;box-shadow:0 1px 3px #0000000f;min-height:300px}.doc-preview h2{text-align:center;font-size:1.25rem;margin:0 0 10px;font-family:var(--font-body)}.doc-preview h3{text-align:center;font-size:1.05rem;margin:8px 0;font-family:var(--font-body)}.doc-preview p{margin:0 0 4px;text-align:justify}.doc-preview p.center{text-align:center}.doc-preview p.right{text-align:right}.doc-preview .doc-item{display:flex;gap:8px;padding-left:8px}.doc-preview .doc-blank{height:10px}.doc-preview .doc-cols{display:grid;grid-template-columns:1fr 1fr;text-align:center;margin:4px 0}.doc-missing{background:var(--warn-soft);color:var(--warn);padding:0 4px;border-radius:3px;font-size:.85em}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.template-card{text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);font-weight:400;padding:12px}.template-card strong{display:block;color:var(--pool-strong);margin-bottom:4px}.template-card.selected{border:2px solid var(--pool);background:var(--pool-soft)}.template-card:hover{background:var(--pool-soft)}.post-card{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:var(--surface);display:grid;gap:8px}.post-card.used{border-left:4px solid var(--ok)}.post-card.ignored{opacity:.7}.post-caption{white-space:pre-wrap;color:var(--muted);font-size:.9rem;max-height:7.5em;overflow:auto;background:var(--paper);padding:8px;border-radius:var(--radius)}textarea.mono-text{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}.post-list{display:grid;gap:12px}.doc-preview table.doc-table{width:100%;border-collapse:collapse;font-size:.78rem;margin:6px 0 10px}.doc-preview table.doc-table th,.doc-preview table.doc-table td{border:1px solid #9aa5ad;padding:3px 5px;vertical-align:top;text-align:left}.doc-preview table.doc-table th{background:#e8eef2}.doc-preview table.doc-table td.num{text-align:right;white-space:nowrap}.annex-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.annex-list li{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.annex-list li .what span{display:block;color:var(--muted);font-size:.9rem}.publicity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:10px 0}.publicity-grid figure{margin:0;border:1px solid var(--line);border-radius:var(--radius);padding:6px;background:var(--paper);display:grid;gap:6px}.publicity-grid img{width:100%;height:120px;object-fit:cover;border-radius:4px;background:#eceff1}.publicity-grid .pdf-thumb{height:120px;display:grid;place-items:center;background:#eceff1;border-radius:4px;font-weight:700;color:var(--muted)}.publicity-grid figcaption{font-size:.85rem}.notice-list{margin:0;padding-left:20px;display:grid;gap:6px}.clock-page{max-width:560px}.clock-card{border-radius:18px;padding:28px 24px 24px;text-align:center;display:grid;gap:10px;color:#fff;background:linear-gradient(160deg,var(--pool) 0%,#08385a 100%);box-shadow:0 10px 30px #08385a40}.clock-card.in{background:linear-gradient(160deg,#2b6a45,#1c4a30)}.clock-card.paused{background:linear-gradient(160deg,#a2660f,#7a4b08)}.clock-now{opacity:.85}.clock-now:first-letter{text-transform:uppercase}.clock-time{font-family:var(--font-display);font-size:4.2rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.clock-state{font-size:1.05rem;opacity:.95;min-height:1.4em}.clock-buttons{display:grid;gap:10px;margin-top:8px}.clock-button{font-size:1.5rem;padding:18px;border-radius:14px;background:#fff;color:var(--pool-strong);border:none;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase}.clock-button:hover{background:#eef5fa}.clock-button.secondary{background:#ffffff24;color:#fff;border:2px solid rgba(255,255,255,.7);font-size:1.2rem;padding:12px}.clock-button.secondary:hover{background:#ffffff3d}.clock-worked{opacity:.9}@media (prefers-reduced-motion: no-preference){.clock-card{transition:background .4s ease}}.bar{position:relative;height:10px;background:var(--paper);border-radius:99px;overflow:hidden}.bar span{position:absolute;left:0;top:0;bottom:0;border-radius:99px}.bar .bar-exp{background:#c9d9e5}.bar .bar-work{background:var(--pool);height:6px;top:2px}.hours-table tr.selected td{background:var(--pool-soft)}.punch{display:inline-block;margin:0 10px 2px 0;font-variant-numeric:tabular-nums;white-space:nowrap}.punch.corrected{text-decoration:underline dotted var(--warn);text-underline-offset:3px}.switch-row input[type=checkbox]{width:20px;height:20px}.hours-table td,.hours-table th{white-space:nowrap}.punch.superseded{text-decoration:line-through;color:var(--muted)}.export-columns{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start;margin-top:12px}.export-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.export-group{border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px 10px;display:grid;gap:6px;margin:0}.export-group legend{font-weight:700;padding:0 4px}.export-order{position:sticky;top:16px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--paper)}.export-order ol{margin:8px 0 0;padding-left:22px;display:grid;gap:2px}.export-order li span:first-child{display:inline-block;min-width:150px}.export-order li .actions{display:inline-flex;gap:0}@media (max-width: 820px){.export-columns{grid-template-columns:1fr}.export-order{position:static}}a.newtab{display:inline-block;margin-left:4px;padding:0 4px;border-radius:4px;font-size:.85em;line-height:1.3;color:var(--muted);text-decoration:none;border:1px solid transparent}a.newtab:hover,a.newtab:focus-visible{color:var(--pool);border-color:currentColor}.combo{position:relative;display:flex;align-items:center;gap:2px}.combo>input{flex:1;min-width:0}.combo-list{position:absolute;z-index:20;top:calc(100% + 2px);left:0;right:0;max-height:280px;overflow-y:auto;margin:0;padding:4px 0;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #14222e24}.combo-list li{padding:7px 10px;cursor:pointer}.combo-list li.active{background:var(--pool-soft)}.combo-list li.add{border-top:1px solid var(--line);color:var(--pool);font-weight:700}.combo-list.empty{padding:8px 10px;color:var(--muted)}.combo-list .muted{color:var(--muted)}.quick-add{border:1px solid var(--pool);border-left-width:4px;border-radius:var(--radius);padding:12px 14px;background:var(--pool-soft);display:grid;gap:8px}.quick-add .form-grid{background:transparent}.pick-list{list-style:none;margin:6px 0;padding:0;display:grid;gap:4px}.tag.info{background:var(--pool-soft);color:var(--pool)}.actions-cell{white-space:nowrap}.actions-cell .link+.link{margin-left:10px}.table-caption{caption-side:top;text-align:left;font-weight:700;padding:4px 0 6px}fieldset.choice{border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;margin:0 0 12px;display:grid;gap:8px}fieldset.choice legend{font-weight:700;padding:0 4px}fieldset.choice label.check{align-items:flex-start}tr.warn-row td{background:var(--warn-soft)}.balance-imputed td:first-child:after{content:" · imputado";color:var(--muted);font-size:.85em}.tag.pay-cash{background:#fde9c8;color:#7a4a00}.tag.pay-transfer{background:#e3e7fb;color:#2d3a8c}.tag.pay-sepa{background:var(--pool-soft);color:var(--pool)}.pay-banner{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;margin:0 0 14px;border:1px solid #e3b25e;border-left:6px solid #d98a00;border-radius:var(--radius);background:#fff5e2}.pay-banner-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#d98a00;color:#fff;font-weight:700;flex:none}.pay-table td{vertical-align:middle}.segmented button.on-cash[aria-pressed=true]{background:#d98a00;border-color:#d98a00;color:#fff}.segmented button.on-transfer[aria-pressed=true]{background:#3949ab;border-color:#3949ab;color:#fff}button.small{padding:4px 10px;font-size:.85em}.tag.school{background:#e6f4ea;color:#1f6b3a}.tabs-row{margin:0 0 12px}.school-banner{display:flex;gap:12px;align-items:flex-start;padding:10px 14px;border-radius:10px;margin-bottom:14px;background:#e6f4ea;border:1px solid #b9dfc5;color:#1f4d2e}tr.selected td{background:var(--pool-soft)}.student-card .detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 18px;padding:6px 2px}.chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}button.chip.on{background:var(--pool);color:#fff;border-color:var(--pool)}.multipick{position:relative}.multipick-button{display:flex;justify-content:space-between;gap:10px;min-width:170px;max-width:260px;background:#fff;color:var(--ink, #14222e);border:1px solid var(--line);font-weight:400;text-align:left}.multipick-button span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multipick-button.on{border-color:var(--pool);background:var(--pool-soft);color:var(--pool-strong);font-weight:600}.multipick-pop{position:absolute;z-index:30;top:100%;left:0;margin-top:4px;width:min(360px,90vw);background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #14222e26;padding:10px}.multipick-pop input[type=search]{width:100%;margin-bottom:6px}.multipick-actions{display:flex;justify-content:space-between;margin-bottom:6px}.multipick-list{max-height:320px;overflow:auto;display:grid;gap:2px}.multipick-list .check{display:flex;gap:6px;align-items:center;padding:3px 0}.multipick-group{margin-top:6px}.report-table .child-row td{background:#f8fafb;font-size:.95em}.report-table .total-row td{border-top:2px solid var(--ink, #14222e);background:var(--pool-soft)}.report-table .toggle{margin-right:6px;width:1.2em}.report-chart .swatch{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:middle}.swatch.exp,.bar-exp{background:#c05b3b;fill:#c05b3b}.swatch.inc,.bar-inc{background:#2e8b57;fill:#2e8b57}.bar-label{font-size:13px;fill:var(--ink, #14222e)}.bar-value{font-size:12px;fill:var(--muted, #566875)}.bar-row:hover .bar-label{text-decoration:underline}.saved-list-items{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 14px}.saved-list-items li{display:flex;align-items:center;gap:6px}.saved-list-items li.on .chip,.saved-list-items .chip[aria-pressed=true]{background:var(--pool);color:#fff;border-color:var(--pool)}.punch.clickable{cursor:pointer;border-radius:4px;padding:0 3px}.punch.clickable:hover,.punch.clickable:focus{background:var(--pool-soft);outline:none}.manual-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.manual-card{display:flex;gap:16px;align-items:flex-start;margin:0}.manual-card h2{margin-top:0}.manual-icon{flex:none;width:54px;height:68px;border-radius:6px;background:#a3241b;color:#fff;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;font-family:var(--font-display);font-weight:600;letter-spacing:.05em}ul.plain{list-style:none;padding:0;margin:0;display:grid;gap:6px}.public{min-height:100vh;background:#f5f8fa;display:flex;flex-direction:column}.public-head{background:var(--pool-strong);padding:12px 16px}.public-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:700;max-width:880px;margin:0 auto}.public-brand img{height:44px;border-radius:6px;background:#fff}.public-main{width:100%;max-width:880px;margin:0 auto;padding:24px 16px 48px;box-sizing:border-box;flex:1}.public-main h1{color:var(--pool-strong)}.public-panel{background:#fff;border:1px solid #d9e3ea;border-radius:14px;padding:20px;margin:16px 0}.public-panel h2{margin-top:0;color:var(--pool-strong)}.public-person{border:0;border-top:1px solid #e3eaef;padding:12px 0 8px;margin:0}.public-person:first-of-type{border-top:0}.public-person legend{font-weight:700;padding:0}.public-weeks{border:0;padding:0;margin:0;display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.public-weeks legend{font-weight:600;margin-bottom:6px}.public-legal{max-height:160px;overflow:auto;background:#f5f8fa;border:1px solid #d9e3ea;border-radius:8px;padding:10px 12px;font-size:14px;margin:12px 0}.public-check{margin:8px 0;align-items:flex-start}.public-check input{margin-top:2px;flex:0 0 auto;width:22px;height:22px;min-width:22px}.public-price{border-color:#ecd27a;background:#fffbea}.public-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.public-card{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:14px;background:#fff;border:1px solid #d9e3ea;text-decoration:none;color:var(--ink);min-height:44px}.public-card strong{color:var(--pool);font-size:20px}.public-card.accent{background:#f0c22c;border-color:#e0b01c}.public-card.accent strong{color:var(--pool-strong)}.public-card.sun{background:#fff8dc;border-color:#ecd27a}.public-foot{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;padding:16px;color:#4a5c69;font-size:14px}dl.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;color:var(--ink);margin:12px 0 0}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0;overflow-wrap:anywhere}table.ledger tr.ledger-group td{background:var(--pool-soft);font-weight:600}table.ledger tr.ledger-cat td{font-weight:500}table.ledger tr.ledger-line td{font-size:.95em}.ledger-uncounted{margin-top:16px;padding:12px 16px;border:1px dashed #c9a62a;border-radius:var(--radius);background:#fffbea}.ledger-uncounted h3{margin:0 0 4px}tr.highlight td{background:#fff3c4!important}@media print{.sidebar,.no-print,.ledger-page .toolbar{display:none!important}.main{margin:0!important;padding:0!important}.panel{box-shadow:none!important;border:none!important}}
