:root{--orange: #e96329;--orange-soft: #fbe4d6;--blue: #0000c7;--navy: #14203f;--navy-2: #1e2c50;--alpaca: #f4efe7;--greyboy: #e7e0d4;--mint: #cfe6d8;--bg: var(--alpaca);--card: #ffffff;--ink: #14203f;--muted: #7d7768;--line: #e7e0d3;--good: #2f7d5b;--warn: #b25a1e;--radius: 12px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}h1,.brand{font-family:Fraunces,Georgia,Times New Roman,serif}.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#d7dbe6;display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh}.brand{font-size:24px;font-weight:600;letter-spacing:.3px;color:#fff;padding:6px 8px 22px}.brand .gold{color:var(--orange)}.client-switch{padding:0 8px 18px}.client-select{width:100%;background:var(--navy-2);color:#fff;border:1px solid #34406b;border-radius:9px;padding:9px 12px;font-size:14px;font-weight:600;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c7ccda' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.client-select:focus{outline:none;border-color:var(--orange)}.client-select option{color:#1a1f2e}.client-pill{display:inline-flex;align-items:center;width:100%;background:var(--navy-2);color:#fff;border:1px solid #34406b;border-radius:9px;padding:9px 12px;font-size:14px;font-weight:600}.nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:10px;color:#c7ccda;text-decoration:none;padding:10px 12px;border-radius:9px;font-size:15px}.nav-item:hover{background:var(--navy-2);color:#fff}.nav-item.active{background:var(--navy-2);color:#fff;box-shadow:inset 3px 0 0 var(--orange)}.nav-ico{font-size:15px}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:16px;border-top:1px solid #2a3763}.avatar{width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-weight:700}.who-box{display:flex;flex-direction:column;overflow:hidden}.who{color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.role{color:#9aa2ba;font-size:12px}.logout{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid #34406b;color:#c7ccda;font-size:12px;padding:5px 10px;margin-top:7px;border-radius:7px;cursor:pointer}.logout:hover{background:var(--orange);border-color:var(--orange);color:#fff}.pill.resp{background:var(--orange-soft);color:#a4451a}.auth-wrap{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:20px}.auth-card{width:100%;max-width:360px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:30px 28px;display:flex;flex-direction:column}.auth-brand{font-family:Fraunces,Georgia,serif;font-size:26px;font-weight:600;color:var(--navy)}.auth-brand .gold{color:var(--orange)}.auth-sub{color:var(--muted);font-size:14px;margin:4px 0 22px}.auth-label{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:600;margin-bottom:6px}.auth-input{border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:15px;margin-bottom:16px;background:#fff;color:var(--ink)}.auth-input:focus{outline:none;border-color:var(--orange)}.auth-btn{width:100%;justify-content:center;padding:11px;margin-top:4px}.auth-error{color:#b3261e;font-size:13px;margin:0 0 12px}.content{padding:34px 40px;max-width:900px}.content.content--wide{max-width:1240px}.page-head{margin-bottom:8px}.page-head h1{font-size:30px;font-weight:500;margin:0 0 4px;color:var(--navy)}.sub{color:var(--muted);margin:0}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:28px 0 12px;font-weight:600}.cards{display:flex;flex-direction:column;gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.priority{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center}.p-num{width:30px;height:30px;border-radius:50%;background:var(--orange-soft);color:#a4451a;font-weight:700;display:grid;place-items:center}.p-top{display:flex;gap:8px;align-items:center;margin-bottom:4px}.p-title{font-weight:600}.code{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--muted)}.pill{font-size:12px;background:var(--greyboy);color:#6b6355;padding:2px 8px;border-radius:20px}.pill.soft{background:#efeade}.badge{font-size:12px;padding:3px 10px;border-radius:20px;font-weight:600;display:inline-block}.badge.good{background:var(--mint);color:#1f6b48}.badge.ok{background:#dfe1ff;color:#2a2ea0}.badge.warn{background:var(--orange-soft);color:#a4451a}.fix-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.corrections{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:7px}.corrections li{font-size:14px}.cico{margin-right:6px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn{background:var(--orange);color:#fff;border:none;padding:9px 14px;border-radius:9px;font-size:14px;font-weight:500;cursor:pointer}.btn:hover{background:#d4571f}.btn.ghost{background:transparent;color:var(--navy);border:1px solid var(--line)}.btn.ghost:hover{background:#efeade}.link{color:var(--orange);text-decoration:none;font-size:14px;font-weight:600}.link:hover{text-decoration:underline}.banner{background:#eaf4ee;border:1px solid #cfe6da;color:#285d45;padding:12px 16px;border-radius:var(--radius);margin:14px 0;font-size:14px}.empty{color:var(--muted)}.muted{color:var(--muted);font-size:13px}.caption{color:#35312b;font-size:14px;line-height:1.5}.copybox{background:#faf7f1;border:1px dashed #dfd4bd;border-radius:10px;padding:14px}.hashtags{color:#a4451a;font-size:13px;margin-top:8px}.checklist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.chk{display:flex;align-items:center;gap:8px;font-size:14px}.chk-ico{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}.chk.ok .chk-ico{background:var(--good)}.chk.warn .chk-ico{background:var(--warn)}.chk.info .chk-ico{background:#6b7280}.stuck{border-left:3px solid var(--orange)}.kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 4px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.kpi-label{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:600}.kpi-value{font-family:Fraunces,Georgia,serif;font-size:26px;color:var(--navy);margin-top:4px}.budget-amounts{display:flex;gap:8px}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:4px 0}.section-head{display:flex;align-items:baseline;justify-content:space-between}.report-card{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:var(--ink);width:100%;cursor:pointer;font:inherit;text-align:left}.report-card:hover{border-color:var(--orange)}.report-card:disabled{opacity:.6;cursor:default}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.kpi-table{width:100%;border-collapse:collapse;font-size:14px}.kpi-table th,.kpi-table td{text-align:left;padding:9px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.kpi-table thead th{background:#efeade;color:var(--navy);font-weight:600;position:sticky;top:0}.kpi-table th:not(:first-child),.kpi-table td.kpi-num{text-align:right;font-variant-numeric:tabular-nums}.kpi-table td:first-child{color:#4a4640}.kpi-group td{background:#faf7f1;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600}.kpi-src td{color:var(--muted);font-size:13px}.kpi-table tbody tr:last-child td{border-bottom:none}.ref-block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px}.ref-block>summary{cursor:pointer;font-weight:600;color:var(--navy);font-size:14px}.ref-block[open]>summary{margin-bottom:8px}.ref-h3{font-size:14px;color:var(--navy);margin:0 0 6px}.ref-ol{margin:6px 0 0;padding-left:20px}.ref-ol li{font-size:14px;margin-bottom:6px}.member-card{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}.member-card:hover{border-color:var(--orange)}.member-avatar{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;flex:none;font-family:Fraunces,serif}.member-main{flex:1;min-width:0}.member-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.member-form label{display:flex;flex-direction:column;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600;gap:5px}.member-form .auth-input{text-transform:none;letter-spacing:0;margin-bottom:0}.form-clients{margin-top:12px}.chip-check{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;padding:5px 12px;font-size:13px;cursor:pointer;text-transform:none;letter-spacing:0;color:var(--ink);font-weight:500}.chip-check.on{background:var(--orange-soft);border-color:var(--orange);color:#a4451a}.chip-check input{accent-color:var(--orange)}@media (max-width: 720px){.member-form .form-grid{grid-template-columns:1fr}}.meter{height:10px;background:var(--greyboy);border-radius:20px;overflow:hidden}.meter-fill{height:100%;background:linear-gradient(90deg,var(--orange),#2f7d5b);border-radius:20px}@media (max-width: 900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.kpis,.kpi-grid{grid-template-columns:1fr}}@media (max-width: 720px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;gap:16px}.brand{padding:0}.nav{flex-direction:row}.sidebar-footer{margin-top:0;margin-left:auto;padding-top:0;border-top:none}.who{max-width:110px}.content{padding:22px 18px}.checklist{grid-template-columns:1fr}}.ce-title{flex:1;font-size:15px;font-weight:600;border:1px solid var(--line);border-radius:8px;padding:6px 8px;color:var(--ink)}.ce-fields{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.ce-fields label{display:flex;flex-direction:column;font-size:11px;color:var(--muted);gap:3px}.ce-fields input,.ce-fields select{border:1px solid var(--line);border-radius:7px;padding:5px 7px;font-size:13px;background:#fff}.b-name,.hol-name{flex:1;font-size:15px;font-weight:600;border:1px solid var(--line);border-radius:8px;padding:6px 8px;color:var(--ink)}.b-fields,.hol-fields{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}.b-fields label,.hol-fields label{display:flex;flex-direction:column;font-size:11px;color:var(--muted);gap:3px}.b-fields input,.hol-fields input{border:1px solid var(--line);border-radius:7px;padding:5px 7px;font-size:13px}.b-cur{width:64px;text-transform:uppercase}.b-detail{width:100%;min-height:60px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:13px;resize:vertical;font-family:inherit}.hol-line{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:13px;margin-top:6px}.ca-layout{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}.ca-list{display:flex;flex-direction:column;gap:12px}.ca-chips{display:flex;flex-direction:column;gap:8px}.ca-new{padding:14px 16px}.ca-fields{display:flex;flex-wrap:wrap;gap:10px}.ca-fields label,.ca-detail-grid label{display:flex;flex-direction:column;font-size:11px;color:var(--muted);gap:3px}.ca-fields input,.ca-fields select,.ca-detail-grid input,.ca-detail-grid textarea{border:1px solid var(--line);border-radius:7px;padding:6px 8px;font-size:13px;background:#fff}.ca-mods{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.ca-fiche{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;min-width:0}.ca-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ca-wide{grid-column:1 / -1}.ca-detail-grid textarea{min-height:56px;resize:vertical;font-family:inherit}.ca-contact{display:flex;flex-direction:column;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.ca-contact-fields{display:grid;grid-template-columns:1.2fr 1fr 1.4fr 1fr;gap:8px}.ca-contact input{border:1px solid var(--line);border-radius:7px;padding:6px 8px;font-size:13px;width:100%;min-width:0}.ca-contact-actions{display:flex;gap:8px;align-items:center}.ca-attach{border:1px dashed var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.ca-attach-list{display:flex;flex-wrap:wrap;gap:6px}@media (max-width: 900px){.ca-layout,.ca-detail-grid,.ca-contact-fields{grid-template-columns:1fr}}.mig-client{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:14px}.mig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mig-cell{border:1px solid var(--line);border-radius:11px;padding:12px}.mig-cell.app{border-color:#b6dfca;background:#f5faf7}.mig-cell-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.mig-actions{display:flex;flex-wrap:wrap;gap:6px}.btn.sm{padding:5px 11px;font-size:12px;cursor:pointer}@media (max-width: 820px){.mig-grid{grid-template-columns:1fr}}.access-user{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:14px}.access-user-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.access-name{font-weight:600;font-size:15px}.access-clients{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.access-client{border:1px solid var(--line);border-radius:11px;padding:10px 12px}.access-client.on{border-color:#b6dfca;background:#f5faf7}.access-client.mismatch{border-color:#f0c39a;background:#fdf5ee}.access-attach{margin-top:4px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.pill.warn{background:#fbe3d2;color:#b3520f}.access-client-top{display:flex;align-items:center;gap:8px;cursor:pointer}.access-sections{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.access-sec{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 9px;cursor:pointer;color:var(--muted)}.access-sec.on{background:#e7f4ee;border-color:#b6dfca;color:#1c6b45}@media (max-width: 720px){.access-clients{grid-template-columns:1fr}}.portal{min-height:100vh;background:var(--bg)}.portal-top{display:flex;align-items:center;justify-content:space-between;padding:16px 34px;background:var(--navy);color:#fff}.portal-brand{display:flex;align-items:center;gap:14px}.portal-logo{width:46px;height:46px;border-radius:11px;overflow:hidden;background:var(--navy-2);display:grid;place-items:center}.portal-logo img{width:100%;height:100%;object-fit:cover}.portal-logo span{font-family:Fraunces,Georgia,serif;font-size:20px;font-weight:600;color:#fff}.portal-client{font-family:Fraunces,Georgia,serif;font-size:20px;font-weight:600}.portal-by{font-size:12px;color:#aab2c8}.portal-by .gold{color:var(--orange)}.portal-top-right{display:flex;align-items:center;gap:12px}.portal-switch{background:var(--navy-2);color:#fff;border:1px solid #34406b;border-radius:9px;padding:8px 12px;font-size:14px;font-weight:600;cursor:pointer}.portal-switch option{color:#1a1f2e}.portal-top .logout{color:#c7ccda;border-color:#34406b}.portal-main{max-width:900px;margin:0 auto;padding:28px 34px 60px}.portal-main .hub-section:first-child{margin-top:0}.portal-main .page{padding:0;max-width:none}.portal-foot{margin-top:30px;text-align:center;color:var(--muted);font-size:12px}@media (max-width: 720px){.portal-top,.portal-main{padding-left:18px;padding-right:18px}}.hub-head{display:flex;align-items:center;gap:14px}.hub-head-vis{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.hub-vis-hint{margin:-6px 0 14px;font-size:12px;color:var(--muted);background:var(--orange-soft);padding:8px 12px;border-radius:9px}.vis-toggle{border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;background:#fff;white-space:nowrap}.vis-toggle.on{background:#e7f4ee;border-color:#b6dfca;color:#1c6b45}.vis-toggle.off{background:#f2f0ec;border-color:var(--line);color:var(--muted)}.vis-toggle:hover{border-color:var(--orange)}.vis-badge{font-size:11px;padding:2px 8px;border-radius:999px;margin-left:8px;white-space:nowrap}.vis-badge.on{background:#e7f4ee;color:#1c6b45}.vis-badge.off{background:#f2f0ec;color:var(--muted)}.chip-lock{margin-left:6px;font-size:11px}.dms-chip.internal{opacity:.72}.hub-logo{width:56px;height:56px;border-radius:12px;overflow:hidden;flex:0 0 auto;display:grid;place-items:center;background:var(--navy);border:1px solid var(--line)}.hub-logo.editable{cursor:pointer}.hub-logo img{width:100%;height:100%;object-fit:cover}.hub-logo-ph{color:#fff;font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:600}.hub-logo.editable:hover{border-color:var(--orange)}.hub-grid{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}.hub-main{display:flex;flex-direction:column;gap:18px;min-width:0}.hub-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hub-block{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.hub-block .section-title{margin-top:0}.rte{border:1px solid var(--line);border-radius:10px;background:#fff;min-height:64px}.rte .bn-editor{padding:6px 4px}.rte-ro{background:var(--bg)}.hub-asset{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.hub-asset-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.hub-asset-img{width:100%;border-radius:8px;display:block}.hub-asset-ph{border:1px dashed var(--line);border-radius:8px;padding:24px;text-align:center;color:var(--muted);font-size:13px}.btn.ghost.sm{padding:4px 10px;font-size:12px;cursor:pointer}.hub-side{position:sticky;top:20px;display:flex;flex-direction:column;gap:12px}.hub-side .section-title{margin:0 0 4px}.hub-modules{display:flex;flex-direction:column;gap:8px}.hub-mod{display:flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:10px 12px;text-decoration:none;color:var(--ink)}.hub-mod:hover{border-color:var(--orange)}.hub-mod-ico{font-size:18px}.hub-mod-t{font-weight:600;font-size:14px}.hub-soon{background:var(--orange-soft);border-radius:11px;padding:12px 14px}.hub-soon strong{font-size:13px}.hub-soon p{margin:4px 0 0;font-size:12px}@media (max-width: 900px){.hub-grid{grid-template-columns:1fr}.hub-side{position:static}}@media (max-width: 720px){.hub-two{grid-template-columns:1fr}}.hub-section{margin-top:24px}.hub-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.btn.ghost.sm.danger{color:#b3261e;border-color:#e6c3c0}.btn.ghost.sm.danger:hover{background:#b3261e;border-color:#b3261e;color:#fff}.dms-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.dms-chip{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer;color:var(--ink)}.dms-chip:hover{border-color:var(--orange)}.dms-chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.dms-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.dms-card-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dms-icon{width:42px;text-align:center;font-size:18px;border:1px solid var(--line);border-radius:8px;padding:6px}.dms-title{flex:1;font-size:16px;font-weight:600;border:1px solid transparent;border-radius:8px;padding:6px 8px;color:var(--ink)}.dms-title:hover,.dms-title:focus,.dms-icon:focus{border-color:var(--line);outline:none}.dms-actions{display:flex;gap:6px}.mtg-layout{display:grid;grid-template-columns:240px 1fr;gap:16px;align-items:start}.mtg-list{display:flex;flex-direction:column;gap:8px}.mtg-item{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:10px 12px;cursor:pointer}.mtg-item:hover{border-color:var(--orange)}.mtg-item.active{box-shadow:inset 3px 0 0 var(--orange);border-color:var(--orange)}.mtg-date{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.mtg-title{font-size:14px;font-weight:600;color:var(--ink)}.mtg-detail{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;min-width:0}.mtg-detail-head{display:flex;gap:8px;align-items:center;margin-bottom:10px}.mtg-d-date{border:1px solid var(--line);border-radius:8px;padding:6px 8px}.mtg-d-title{flex:1;font-size:16px;font-weight:600;border:1px solid var(--line);border-radius:8px;padding:6px 8px;color:var(--ink)}.mtg-sub{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:14px 0 6px}.mtg-actions-head{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.act-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.act-row.done .act-label{text-decoration:line-through;color:var(--muted)}.act-label{flex:1;border:1px solid transparent;border-radius:6px;padding:5px 6px;font-size:14px;color:var(--ink)}.act-label:focus{border-color:var(--line);outline:none}.act-assignee{width:96px;border:1px solid var(--line);border-radius:6px;padding:5px 6px;font-size:12px}.act-date{border:1px solid var(--line);border-radius:6px;padding:4px 6px;font-size:12px}@media (max-width: 720px){.mtg-layout{grid-template-columns:1fr}}.aud{--aud-f: #eb6834;--aud-h: #2a78d6}.aud-block{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:14px}.aud-block-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.aud-legend{display:flex;gap:16px;justify-content:center;color:var(--muted);font-size:12px;margin-bottom:10px}.aud-legend span{display:inline-flex;align-items:center;gap:6px}.aud-sw{width:12px;height:12px;border-radius:3px;display:inline-block}.aud-sw.f{background:var(--aud-f)}.aud-sw.h{background:var(--aud-h)}.aud-row{display:grid;grid-template-columns:1fr 56px 1fr;align-items:center;gap:8px;margin:5px 0}.aud-side{display:flex;align-items:center;gap:8px;min-width:0}.aud-side.left{justify-content:flex-end}.aud-side.right{justify-content:flex-start}.aud-bracket{text-align:center;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.aud-bar{height:16px;border-radius:4px;min-width:2px}.aud-bar.f{background:var(--aud-f)}.aud-bar.h,.aud-bar.g{background:var(--aud-h)}.aud-val{font-size:12px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.aud-note{margin-top:10px;color:var(--muted)}.aud-generic{display:flex;flex-direction:column;gap:6px}.aud-grow{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:10px}.aud-glabel{font-size:13px;color:var(--ink)}.aud-gtrack{display:flex}.billing-layout{display:grid;grid-template-columns:1fr;gap:18px}.bill-editor-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:start}@media (max-width: 1100px){.bill-editor-grid{grid-template-columns:1fr}}.bill-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.bill-field{display:flex;flex-direction:column;font-size:11px;color:var(--muted);gap:3px;margin-bottom:10px}.bill-field input,.bill-field select,.bill-field textarea{border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-size:13px;background:#fff;font-family:inherit;min-width:0}.bill-field textarea{min-height:76px;resize:vertical}.bill-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bill-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.bill-lines{display:flex;flex-direction:column;gap:8px}.bill-line{display:grid;grid-template-columns:24px 1fr 116px 116px 28px;gap:8px;align-items:start}.bill-line .idx{text-align:center;color:var(--muted);font-size:13px;padding-top:9px}.bill-line input,.bill-line textarea{border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-size:13px;min-width:0;width:100%;font-family:inherit}.bill-line textarea.bill-desc{min-height:40px;resize:none;overflow:hidden;line-height:1.45}.bill-line .num{text-align:right;font-variant-numeric:tabular-nums}.bill-line .btn{margin-top:3px}.bill-lib{border:1px solid var(--line);border-radius:7px;padding:5px 8px;font-size:12px;max-width:220px;background:#fff}.bill-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bill-vat{display:flex;align-items:center;gap:10px}.bill-vat label.tog{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink)}.bill-preview-wrap{position:sticky;top:16px}.bill-preview-scale{transform-origin:top left}.bill-status{font-size:12px;padding:2px 9px;border-radius:999px;text-transform:capitalize}.bill-status.draft{background:#eee;color:#555}.bill-status.sent{background:#e5effb;color:#2b6cb0}.bill-status.paid{background:#e4f5ec;color:#2f855a}.bill-status.overdue{background:#fdecea;color:#c53030}.bill-status.cancelled{background:#f3f3f3;color:#999;text-decoration:line-through}.bill-list-row{display:grid;grid-template-columns:110px 1fr 110px 130px 90px auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.bill-list-row .amt{text-align:right;font-variant-numeric:tabular-nums}.bill-list-row .num{font-weight:600}.inv-doc{--o:#E86028;--peach:#FBE6DA;--ink:#20242B;--muted:#5a6068;--line:#E4E4E4;--thead:#F1F1F1;width:794px;min-height:1123px;background:#fff;padding:54px 56px 40px;font-family:DM Sans,system-ui,sans-serif;color:var(--ink);display:flex;flex-direction:column;box-sizing:border-box}.inv-doc *{box-sizing:border-box}.inv-hd{display:flex;align-items:flex-start;justify-content:space-between}.inv-hd img{width:180px;height:auto;display:block;margin-top:4px}.inv-title{font-weight:800;font-size:52px;letter-spacing:1px;color:var(--o);line-height:1}.inv-band{height:26px;background:var(--peach);border-radius:4px;margin:14px 0 34px auto;width:74%}.inv-parties{display:flex;justify-content:space-between;gap:24px}.inv-lbl{font-weight:700;font-size:13px;letter-spacing:.3px}.inv-party-l{font-size:13.5px;line-height:1.55;color:var(--ink);max-width:320px}.inv-party-r{text-align:right;font-size:13.5px;line-height:1.55}.inv-party-r .inv-name{font-weight:700}.inv-meta{text-align:right;margin-top:26px;font-size:13.5px;line-height:1.7}.inv-meta b{font-weight:700}.inv-table{width:100%;border-collapse:collapse;margin-top:38px;font-size:13px;table-layout:fixed}.inv-table thead th{background:var(--thead);color:var(--ink);font-weight:700;letter-spacing:.4px;text-align:left;padding:12px;font-size:12.5px}.inv-table th.inv-c-num{width:56px;text-align:center}.inv-table th.inv-c-price,.inv-table th.inv-c-total{width:138px;text-align:right}.inv-table tbody td{padding:16px 12px;color:var(--muted);border-bottom:1px solid var(--line);vertical-align:top}.inv-table td.inv-c-num{text-align:center}.inv-table td.inv-c-desc{color:var(--ink);line-height:1.5;padding-right:24px;overflow-wrap:anywhere;word-break:break-word}.inv-table td.inv-c-price,.inv-table td.inv-c-total{white-space:nowrap}.inv-amt{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}.inv-amt .inv-cur{text-align:left}.inv-amt .inv-num{text-align:right;flex:1}.inv-totals{margin-left:auto;width:300px;font-size:13px}.inv-totals .inv-row{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid var(--line)}.inv-totals .inv-row .inv-k{color:var(--ink)}.inv-totals .inv-row .inv-v{width:114px;color:var(--muted)}.inv-totals .inv-row.inv-grand{border-bottom:none;border-top:2px solid var(--ink)}.inv-totals .inv-row.inv-grand .inv-k,.inv-totals .inv-row.inv-grand .inv-v{font-weight:700;color:var(--ink)}.inv-pay{margin-top:60px;font-size:12.5px;color:var(--muted);line-height:1.6}.inv-pay h4{color:var(--ink);font-size:14px;font-weight:700;margin:0 0 4px}.inv-pay .inv-block{margin-bottom:16px}.inv-foot{margin-top:auto;padding-top:16px}.inv-foot .inv-rule{height:2px;background:var(--o);margin-bottom:12px}.inv-foot .inv-cols{display:flex;gap:40px;font-size:11.5px}.inv-foot .inv-cols .inv-c b{display:block;color:var(--ink);font-weight:700;letter-spacing:.6px;margin-bottom:2px}.inv-foot .inv-cols .inv-c span{color:var(--muted)}.inv-print-root{position:absolute;left:-10000px;top:0}@media print{body *{visibility:hidden!important}.inv-print-root,.inv-print-root *{visibility:visible!important}.inv-print-root{position:absolute!important;left:0!important;top:0!important;width:794px}.inv-print-root .inv-doc{box-shadow:none}@page{size:A4;margin:0}}.acc-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 900px){.acc-cards{grid-template-columns:1fr 1fr}}.acc-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.acc-card.paid{border-color:#b6dfca;background:#f5faf7}.acc-card.pend{border-color:#f3d9b6;background:#fdf8f1}.acc-k{font-size:12px;color:var(--muted);margin-bottom:6px}.acc-v{font-size:20px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}.acc-table{width:100%;border-collapse:collapse;font-size:13px}.acc-table th{text-align:left;font-size:11px;color:var(--muted);letter-spacing:.3px;padding:8px 10px;border-bottom:1px solid var(--line)}.acc-table td{padding:9px 10px;border-bottom:1px solid var(--line)}.acc-table th.r,.acc-table td.r{text-align:right;font-variant-numeric:tabular-nums}.acc-month{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.acc-month-label{font-size:13px;font-weight:600;color:var(--ink)}.acc-bars{display:flex;flex-direction:column;gap:6px}.acc-bar-row{display:grid;grid-template-columns:70px 1fr 140px;gap:10px;align-items:center}.acc-bar-tag{font-size:11px;color:var(--muted)}.acc-bar-track{background:#eef0f2;border-radius:6px;height:14px;overflow:hidden}.acc-bar{height:100%;background:#c9d3dc;border-radius:6px}.acc-bar.paid{background:#7fc4a0}.acc-bar-val{text-align:right;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink)}.acc-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.acc-filters select,.acc-filters input{border:1px solid var(--line);border-radius:7px;padding:6px 8px;font-size:13px;background:#fff}.acc-flabel{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
