:root{--primary:#abc4dc;--on-primary:#1b1b1b;--chrome:#444;--on-chrome:#fff;--ink:#1b1b1b;--paper:#f6f6f4}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0;font:15px/1.55 system-ui,sans-serif}header.portal{background:var(--chrome);color:var(--on-chrome);align-items:center;gap:.8rem;padding:.8rem 1.2rem;display:flex}header.portal img{height:28px}header.portal a{color:var(--on-chrome);font-weight:600;text-decoration:none}header.portal .head-tools{align-items:center;gap:.7rem;margin-left:auto;display:flex}header.portal .account{opacity:.9;font-size:.85rem;font-weight:400}header.portal .lang{width:auto;color:var(--on-chrome);border:1px solid color-mix(in srgb,var(--on-chrome),transparent 60%);background:0 0;border-radius:6px;padding:.25rem .5rem;font-size:.82rem}header.portal .lang option{color:var(--ink);background:var(--paper)}main{gap:1rem;max-width:820px;margin:1.5rem auto;padding:0 1rem;display:grid}.card{background:#fff;border:1px solid #e3e3df;border-radius:8px;padding:1rem 1.2rem}.card h2{margin:0 0 .3rem;font-size:1.02rem}.hint{color:#777;margin:0 0 .6rem;font-size:.83rem}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.8rem;display:grid}a.tile{color:inherit;background:#fff;border:1px solid #e3e3df;border-radius:8px;padding:.9rem 1rem;text-decoration:none;display:block}a.tile:hover{border-color:var(--primary)}a.tile strong{margin-bottom:.2rem;display:block}a.tile span{color:#777;font-size:.82rem}.btn,button{background:var(--primary);color:var(--on-primary);cursor:pointer;border:0;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:default}table{border-collapse:collapse;width:100%;font-size:.88rem}td,th{text-align:left;vertical-align:top;border-bottom:1px solid #eee;padding:.4rem .5rem}label{margin:.7rem 0 .2rem;font-size:.86rem;font-weight:600;display:block}input,select,textarea{width:100%;font:inherit;background:#fff;border:1px solid #d4d4cf;border-radius:6px;padding:.5rem .65rem}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary),transparent 70%);outline:none}input[type=checkbox]{width:auto}.pf-field{margin-bottom:.2rem}.pf-req{color:#a33}.pf-invalid input,.pf-invalid select,.pf-invalid textarea{border-color:#d08770}.pf-invalid input:focus,.pf-invalid select:focus,.pf-invalid textarea:focus{box-shadow:0 0 0 3px #d0877040}.pf-error{color:#a33;margin:.15rem 0 0;font-size:.8rem}.error{color:#a33;font-size:.86rem}.chips{flex-wrap:wrap;gap:.3rem;margin-top:.4rem;display:flex}.chip{background:#fafaf8;border:1px solid #d4d4cf;border-radius:6px;padding:.1rem .5rem;font-size:.78rem}.pw-day{margin-top:.5rem}.pw-day-label{font-size:.82rem;font-weight:600}button.pw-chip{color:var(--ink);cursor:pointer;padding:.15rem .6rem;font-size:.82rem;font-weight:400}button.pw-chip.pw-active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.pw-range-row{align-items:center;gap:.5rem;display:flex}.pw-range-row input[type=date]{max-width:180px}.pw-range-row input[type=time]{max-width:120px}.pw-range-row .hint{margin:0}.pv-grid{gap:.8rem;display:grid}.pv-kpi{flex-direction:column;gap:.1rem;display:flex}.pv-kpi-value{font-size:1.6rem;font-weight:700}.pv-cards{gap:.6rem;display:grid}.pv-card{background:#fff;border:1px solid #e3e3df;border-radius:8px;padding:.7rem .9rem}.pv-card-head{justify-content:space-between;align-items:start;gap:.6rem;display:flex}.pv-kicker{color:#777;text-transform:uppercase;letter-spacing:.03em;font-size:.76rem}.pv-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .6rem;font-size:.76rem;font-weight:600;display:inline-flex}.pv-badge-icon{background:currentColor;width:.85em;height:.85em;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.pv-badge--neutral{color:#555;background:#ececea}.pv-badge--success{color:#2a6b2a;background:#dcefdc}.pv-badge--info{background:color-mix(in srgb,var(--primary),#fff 75%);color:var(--ink)}.pv-badge--warning{color:#8a6d1a;background:#f7ecd2}.pv-badge--error{color:#a33;background:#f6dcd6}.ok{color:#2a6b2a}footer{text-align:center;color:#999;padding:2rem 0 1rem;font-size:.78rem}
