:root{--bg:#f4f6fa;--card:#fff;--ink:#0f172a;--mut:#64748b;--pri:#4f46e5;--pri2:#4338ca;--bd:#e2e8f0;--r:16px;--side:240px;--sh:0 1px 2px #0f172a0a,0 4px 14px #0f172a0d}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--pri);text-decoration:none}h1{font-size:1.55rem;margin:0;letter-spacing:-.01em}h2{font-size:1.1rem;margin:0 0 .6rem}h3{margin:0 0 .2rem;font-size:1.02rem}
/* layout */
.app main{margin-left:var(--side);padding:1.6rem 2rem 3rem;max-width:calc(1180px + var(--side))}.auth main{max-width:420px;margin:0 auto;padding:1rem}
.side{position:fixed;inset:0 auto 0 0;width:var(--side);background:#0f172a;color:#cbd5e1;display:flex;flex-direction:column;padding:1.2rem .9rem;z-index:10}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:700;font-size:1.05rem;padding:.2rem .5rem 1.4rem}
.logo{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#06b6d4);font-size:.8rem;color:#fff}
.side nav{display:flex;flex-direction:column;gap:.2rem;flex:1}.side nav a,.me a{display:flex;align-items:center;gap:.7rem;color:#cbd5e1;padding:.6rem .75rem;border-radius:10px;font-weight:500}
.side nav a:hover,.me a:hover{background:#1e293b;color:#fff}.side a.on{background:#1e293b;color:#fff;box-shadow:inset 3px 0 0 #818cf8}.side i{font-style:normal;width:1.3rem;text-align:center}
.me{border-top:1px solid #1e293b;padding-top:.8rem}.me .link{color:#94a3b8;padding:.3rem .75rem}.av{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#334155;color:#fff;font-size:.8rem}
.tabbar{display:none}
/* components */
.card{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;margin-bottom:1rem}
.pad{padding:1.1rem 1.3rem}.narrow{max-width:680px;margin:0 auto 1rem;padding:1.5rem}.center{margin-top:14vh;text-align:center}.center form{text-align:left}
.muted{color:var(--mut)}.small{font-size:.84rem}.nowrap{white-space:nowrap}.r{text-align:right}
.bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 0 1rem}.bar.tight{margin-bottom:.6rem}.bar h2{margin:0}
.btn{display:inline-flex;align-items:center;gap:.3rem;padding:.55rem 1rem;border-radius:10px;border:1px solid var(--bd);background:#fff;color:var(--ink);font:inherit;font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap}
.btn:hover{background:#f8fafc;border-color:#cbd5e1}.primary{background:var(--pri);color:#fff;border-color:var(--pri)}.primary:hover{background:var(--pri2);border-color:var(--pri2)}.danger{color:#b91c1c;border-color:#fecaca}
.full{width:100%;justify-content:center;margin-top:.6rem}.link{background:none;border:0;font:inherit;cursor:pointer;padding:0}.inline{display:inline}.actions{display:flex;gap:.5rem;flex-wrap:wrap}
label{display:block;margin:.65rem 0;font-weight:600;font-size:.86rem;color:#334155}
input,select,textarea{width:100%;padding:.6rem .75rem;border:1px solid #cbd5e1;border-radius:10px;font:inherit;font-weight:400;margin-top:.3rem;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px #6366f133}input[type=checkbox]{width:auto}
.row,.row3{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.row3{grid-template-columns:repeat(3,1fr)}form .actions{margin-top:1rem}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end;margin-bottom:1rem;background:#fff;border:1px solid var(--bd);border-radius:var(--r);padding:.7rem}
.filters input,.filters select{width:auto;flex:1 1 150px;margin:0}.filters label{margin:0;flex:1 1 140px;font-weight:500}
.seg{display:inline-flex;background:#e2e8f0;border-radius:10px;padding:3px;margin-bottom:1rem}.seg a{padding:.35rem .9rem;border-radius:8px;color:var(--mut);font-weight:600;font-size:.88rem}.seg a.on{background:#fff;color:var(--ink);box-shadow:var(--sh)}
/* kpis & dashboard */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.kpis.in{grid-template-columns:repeat(3,1fr);margin:1rem 0}
.kpi{background:#fff;border:1px solid var(--bd);border-radius:var(--r);padding:1rem 1.2rem;box-shadow:var(--sh)}.kpis.in .kpi{background:var(--bg);box-shadow:none;border:0}
.kpi span{display:block;color:var(--mut);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.kpi b{font-size:1.5rem;letter-spacing:-.02em}.kpi small{color:var(--mut);margin-left:.4rem}
.cols{display:grid;grid-template-columns:3fr 2fr;gap:1rem}.cols>.card{margin:0 0 1rem}
.brow{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;padding:.65rem .2rem;border-bottom:1px solid #f1f5f9;color:inherit}.brow:last-child{border:0}.brow:hover .bl b{color:var(--pri)}
.bl span{display:block}.bv{font-weight:700;align-self:center}.meter{grid-column:1/-1;height:6px;background:#eef2ff;border-radius:99px;overflow:hidden}.meter div{height:100%;background:linear-gradient(90deg,#6366f1,#06b6d4);border-radius:99px}
.li{display:flex;justify-content:space-between;gap:.8rem;align-items:center;padding:.6rem 0;border-bottom:1px solid #f1f5f9;color:inherit}.li:last-child{border:0}.li span.small{display:block}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{padding:.6rem .5rem;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:top}th{font-size:.75rem;text-transform:uppercase;color:var(--mut);letter-spacing:.04em}
th.r,td.r{text-align:right}td input{width:140px;display:inline-block;margin:0}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem;margin-bottom:1rem}.grid>.card{margin:0}
.prop,.co{color:inherit;transition:transform .12s,box-shadow .12s}.prop:hover,.co:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0f172a1a}
.pimg{position:relative}.pimg img,.ph{width:100%;height:160px;object-fit:cover;display:block}.ph{display:grid!important;place-items:center;font-size:3rem;background:linear-gradient(135deg,#e0e7ff,#cffafe)}
.badge{position:absolute;left:.7rem;bottom:.7rem;background:#0f172acc;color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:99px;backdrop-filter:blur(4px)}.badge.r{left:auto;right:.7rem;background:#b91c1ccc}
.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.7rem 0 .3rem;background:var(--bg);border-radius:10px;padding:.55rem .7rem}.stats3 b{display:block;font-size:.98rem}.stats3 span{font-size:.72rem;color:var(--mut);text-transform:uppercase;letter-spacing:.03em}
.cohead{display:flex;gap:.8rem;align-items:center}.cohead h3,.cohead h1{margin-bottom:.15rem}.coico{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:12px;background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;font-weight:700;font-size:1.2rem}.coico.big{width:56px;height:56px;font-size:1.5rem}
.stats.big{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1rem 0}.stats.big div{background:var(--bg);border-radius:12px;padding:.75rem .9rem}.stats.big b{display:block;font-size:1.25rem}.stats.big span{font-size:.78rem;color:var(--mut);text-transform:uppercase;font-weight:600}
.hero img{width:100%;max-height:280px;object-fit:cover;display:block}.hero .muted{margin:.1rem 0 .4rem}
.entries{display:grid;gap:.8rem}.entries>.card{margin:0}.ehead{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.cost{margin-left:auto;font-weight:700;font-size:1.1rem}
dl{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin:.4rem 0}dt{font-size:.72rem;color:var(--mut);text-transform:uppercase;letter-spacing:.03em;font-weight:600}dd{margin:0}
.notes{background:#fffbeb;border-left:3px solid #f59e0b;padding:.55rem .85rem;border-radius:8px;white-space:pre-wrap;margin:.6rem 0}
.atts{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}.atts img{height:76px;width:76px;object-fit:cover;border-radius:10px;border:1px solid var(--bd)}
.tag{display:inline-block;padding:.15rem .6rem;border-radius:99px;font-size:.76rem;font-weight:600;background:#f1f5f9;color:#334155;white-space:nowrap}.cats{display:flex;gap:.4rem;flex-wrap:wrap}
.co-badge{background:#eef2ff;color:#4338ca}.warn{background:#ffedd5;color:#9a3412}
.t-appliance{background:#dbeafe;color:#1e40af}.t-flooring{background:#fef3c7;color:#92400e}.t-plumbing{background:#cffafe;color:#155e75}.t-hvac{background:#ede9fe;color:#5b21b6}
.t-roof{background:#fee2e2;color:#991b1b}.t-paint{background:#fce7f3;color:#9d174d}.t-electrical{background:#fef9c3;color:#854d0e}.t-landscaping{background:#dcfce7;color:#166534}
.flash{padding:.75rem 1rem;border-radius:12px;margin-bottom:1rem;background:#dcfce7;color:#166534;font-weight:500}.flash.error{background:#fee2e2;color:#991b1b}.empty{text-align:center;color:var(--mut)}
/* responsive */
@media(max-width:1000px){.cols{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.side{display:none}.app main{margin:0;padding:1rem .85rem 5.5rem}
.tabbar{display:flex;position:fixed;inset:auto 0 0 0;background:#0f172a;z-index:10;padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom))}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;color:#94a3b8;font-size:.68rem;font-weight:600;padding:.25rem 0}.tabbar i{font-style:normal;font-size:1.2rem}.tabbar a.on{color:#fff}
.row,.row3{grid-template-columns:1fr}.stats.big,.kpis.in{grid-template-columns:1fr 1fr}.kpi b{font-size:1.2rem}h1{font-size:1.3rem}
.bar .actions{width:100%}.bar .actions .btn{flex:1;justify-content:center}td input{width:100%}table{font-size:.86rem}.narrow{padding:1.1rem}}
.importbar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;position:sticky;top:.5rem;z-index:5}
.importctl{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.importctl select,.importctl input:not([type=checkbox]){width:auto;margin:0;min-width:220px}
.check{display:flex;align-items:center;gap:.4rem;margin:0;font-weight:500}
.parcel{display:block;cursor:pointer;font-weight:400;color:inherit;margin:0}.parcel:hover{border-color:#a5b4fc}.parcel:has(input:checked){border-color:var(--pri);box-shadow:0 0 0 3px #6366f133}
.parcel input[type=checkbox]{width:18px;height:18px;margin:0}.parcel.dup{opacity:.6;cursor:default}.pin{font-family:ui-monospace,Menlo,Consolas,monospace}
.kpis.in.four{grid-template-columns:repeat(4,1fr)}.mt{margin-top:1rem}details summary{cursor:pointer;color:var(--pri)}
@media(max-width:760px){.kpis.in.four{grid-template-columns:1fr 1fr}.importctl,.importctl select,.importctl input:not([type=checkbox]){width:100%}}
.filters label.check{flex:0 0 auto;align-self:center}.filters label.check input{flex:none}
/* finance */
.kpis.fin .kpi b.neg,.neg{color:#c0392b}.pos{color:#1e8449}
.finline{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:var(--mut);margin:.2rem 0 .3rem}.finline b{color:var(--ink)}
.fincols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.fincols h3{margin:.3rem 0 .5rem}
table.calc td{padding:.38rem .5rem}table.calc tr.sub td{color:var(--mut);font-size:.9rem;padding-left:1.2rem}table.calc tr.tot td{border-top:2px solid var(--bd);font-weight:700}
table.list tr.tot td{border-top:2px solid var(--bd);background:var(--bg)}
fieldset.finset{border:1px solid var(--bd);border-radius:12px;padding:.6rem 1rem .4rem;margin:1rem 0}fieldset.finset legend{font-weight:700;padding:0 .3rem}
.seg.sm{display:inline-flex;margin:0 0 0 auto}.ptable td,.ptable th{white-space:nowrap}
.millform{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;align-items:end}.millform .wide{grid-column:span 2}.millform .full{grid-column:1/-1}.millform .actions{grid-column:1/-1}
table.mill td,table.mill th{font-size:.88rem}tr.editing td{background:var(--bg)}
@media(max-width:800px){.fincols{grid-template-columns:1fr}.kpis.fin{grid-template-columns:1fr 1fr}}
/* rent */
.cofilter{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:1rem;padding:.7rem 1rem}
.chip{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--bd);border-radius:999px;padding:.25rem .75rem;font-size:.85rem;cursor:pointer;background:#fff;margin:0;font-weight:600;color:var(--mut)}
.chip input{display:none}.chip.on{background:var(--pri);border-color:var(--pri);color:#fff}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}
.tag.st-occupied,.tag.ok{background:#dcfce7;color:#166534}.tag.st-vacant,.tag.bad{background:#fee2e2;color:#991b1b}.tag.st-make_ready{background:#fef3c7;color:#92400e}
.btn.sm{padding:.25rem .6rem;font-size:.8rem}.btn.danger{color:#b91c1c;border-color:#fecaca}
table.roll td{vertical-align:top}
@media(max-width:900px){.cols3{grid-template-columns:1fr}}
.cols2x{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:900px){.cols2x{grid-template-columns:1fr}}
/* tiles, outline, bulk */
.pcard{position:relative}.pick{position:absolute;top:.5rem;left:.5rem;z-index:3;background:#fff;border-radius:8px;padding:.2rem .35rem;box-shadow:var(--sh);margin:0;line-height:1}.pick input{width:18px;height:18px;margin:0}
.pcard .prop{display:block;height:100%}
.pimg .outline,.heroimg .outline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.outline polygon{fill:rgba(250,204,21,.12);stroke:#facc15;stroke-width:3;vector-effect:non-scaling-stroke}
.pimg .outline{height:160px}.credit{position:absolute;right:.35rem;bottom:.3rem;font-size:.62rem;color:#fff;background:rgba(0,0,0,.45);padding:.05rem .35rem;border-radius:4px;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.heroimg{position:relative}.heroimg img{height:280px;max-height:none}
.badge.t{left:auto;right:.5rem;top:.5rem;bottom:auto;background:#065f46;color:#fff}
.pcard.land .pimg::after{content:"";position:absolute;inset:0;height:160px}
.bulkbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.6rem 1rem;margin-bottom:1rem}.bulkbar select{width:auto}.selall{display:flex;align-items:center;gap:.35rem;margin:0;font-weight:600}
/* ===== UI refresh (round 7) ===== */
:root{--bg:#f5f7fb;--bd:#e5e9f0;--r:14px;--r-sm:10px;--sh:0 1px 2px #0f172a08,0 2px 8px #0f172a0a;--ok:#15803d;--okbg:#dcfce7;--warnbg:#fef3c7;--badbg:#fee2e2}
body{font-size:15px;line-height:1.55}h1{font-size:1.5rem;font-weight:700;letter-spacing:-.015em}h2{font-size:1rem;font-weight:700;letter-spacing:-.005em;margin:0 0 .75rem}h3{font-size:.95rem}
.app main{padding:1.75rem 2.25rem 3rem}
.card{margin-bottom:1.25rem}.pad{padding:1.25rem 1.4rem}
.phead,.bar{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin:0 0 1.25rem}
.phead h1{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.phead .sub{color:var(--mut);margin:.25rem 0 0}.crumbs{font-size:.82rem;color:var(--mut);margin:0 0 .3rem}.crumbs a{color:var(--mut)}.crumbs a:hover{color:var(--pri)}
.shead{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.75rem}.shead h2{margin:0}
.btn{padding:.5rem .95rem;border-radius:var(--r-sm);font-size:.88rem;transition:background .12s,border-color .12s,box-shadow .12s;line-height:1.3}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #6366f140}.btn.primary{box-shadow:0 1px 2px #4f46e540}.btn.ghost{background:transparent;border-color:transparent;color:var(--mut)}.btn.ghost:hover{background:#eef1f6;color:var(--ink)}
.btn.sm{padding:.3rem .65rem;font-size:.8rem;border-radius:8px}
.tag{font-size:.74rem;padding:.18rem .6rem;letter-spacing:.01em}.tag.info{background:#e0f2fe;color:#075985}.tag.warn{background:var(--warnbg);color:#92400e}
table.list thead th,table.list tr:first-child th{background:#f8fafc;border-bottom:1px solid var(--bd);padding:.6rem .75rem;font-weight:700;font-size:.72rem}
table.list td{padding:.7rem .75rem;border-bottom:1px solid #eef1f5}table.list tbody tr:hover td{background:#fafbff}table.list tr:last-child td{border-bottom:0}
.card>.table-wrap table.list th:first-child,.card>.table-wrap table.list td:first-child{padding-left:1.2rem}.card>.table-wrap table.list th:last-child,.card>.table-wrap table.list td:last-child{padding-right:1.2rem}
.pad>.table-wrap{margin:0 -1.4rem}.pad>.table-wrap table.list th:first-child,.pad>.table-wrap table.list td:first-child{padding-left:1.4rem}.pad>.table-wrap table.list th:last-child,.pad>.table-wrap table.list td:last-child{padding-right:1.4rem}
td.cb,th.cb{width:2.2rem}td.cb input{width:17px;height:17px;margin:0}
.empty{color:var(--mut);text-align:center;padding:1rem 0;margin:0}.empty-cell{text-align:center;color:var(--mut);padding:1.5rem!important}
.emptystate{text-align:center;padding:2.5rem 1.5rem}.emptystate .ei{font-size:2.2rem;margin-bottom:.4rem}.emptystate h3{font-size:1.05rem;margin-bottom:.3rem}.emptystate p{margin:0 0 1rem}
.filters{padding:.6rem;gap:.5rem;align-items:center;box-shadow:var(--sh)}.filters input,.filters select{padding:.5rem .7rem}
.kpis{gap:1rem;margin-bottom:1.25rem}.kpi{padding:1rem 1.15rem;border-radius:var(--r)}.kpi span{font-size:.72rem;margin-bottom:.15rem}.kpi b{font-size:1.45rem;display:block;line-height:1.25}.kpi small{margin-left:0;font-size:.78rem}
.kpi.accent{background:linear-gradient(135deg,#eef2ff,#ecfeff);border-color:#c7d2fe}.kpi.accent b{color:var(--pri2)}
.hint{display:block;font-weight:400;font-size:.8rem;color:var(--mut);margin-top:.25rem}label .hint{display:inline;margin-left:.3rem}
.due{display:inline-block;font-weight:700;font-size:.82rem;background:#eef2ff;color:var(--pri2);border-radius:6px;padding:.05rem .45rem}
/* forms */
.formpage{max-width:760px;margin:0 auto}.fcard{padding:1.4rem 1.5rem}.fcard h2{margin-bottom:.3rem}
.fcard fieldset{border:0;border-top:1px solid var(--bd);margin:0;padding:1.1rem 0 .4rem}.fcard fieldset:first-of-type{border-top:0;padding-top:0}
.fcard legend{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);font-weight:700;padding:0;margin-bottom:.1rem;float:left;width:100%}.fcard legend+*{clear:both}
.duebox{background:linear-gradient(135deg,#f5f7ff,#f0fdff);border:1px solid #dbe3ff!important;border-radius:12px;padding:1rem 1.1rem .6rem!important;margin:.8rem 0!important}
select.big{font-size:1.05rem;font-weight:600;padding:.7rem .8rem;color:var(--pri2)}
.factions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--bd)}
/* lease detail */
.contact{display:flex;gap:.9rem;align-items:center}.contact>div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.contact a{font-size:.9rem;overflow:hidden;text-overflow:ellipsis}
.avatar{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;font-weight:700;font-size:1.2rem}
dl.terms{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem;margin:0}dl.terms dd{font-weight:500}
table.stmt tr.late td{background:#fff7f7}table.stmt tr.upcoming td{color:var(--mut)}
.doc{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem 0;border-bottom:1px solid #eef1f5}.doc a{display:flex;gap:.7rem;align-items:center;color:inherit;min-width:0}.doc a>span:last-child{display:flex;flex-direction:column}
.docico{display:grid;place-items:center;flex:none;width:38px;height:44px;border-radius:6px;background:#fee2e2;color:#b91c1c;font-size:.68rem;font-weight:800}
.upl{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.9rem;align-items:center}.upl input{flex:1 1 200px;margin:0}.upl input[type=file]{padding:.4rem}
.li>span:first-child{display:flex;flex-direction:column}
.side nav a{padding:.55rem .75rem;font-size:.93rem}
@media(max-width:760px){.app main{padding:1rem .85rem 5.5rem}.phead{align-items:stretch}.phead .actions{width:100%}.phead .actions .btn{flex:1;justify-content:center}
 .kpi b{font-size:1.15rem}.fcard{padding:1.1rem}dl.terms{grid-template-columns:1fr}.pad{padding:1rem 1.05rem}.pad>.table-wrap{margin:0 -1.05rem}
 table.list td,table.list th{padding:.55rem .55rem}.filters input,.filters select{flex:1 1 100%}.bulkbar>*{flex:1 1 auto}h1{font-size:1.3rem}
 .tabbar a{font-size:.64rem}}
@media(max-width:1000px){.leasecols>div:last-child{order:-1}.leasecols{display:flex;flex-direction:column}}
@media(max-width:760px){table.stmt .small a{display:none}}
/* ---- work logging ---- */
.side-log{margin:.2rem 0 1rem;justify-content:center;width:100%}
.topstrip{display:flex;justify-content:flex-end;margin:-.4rem 0 .6rem}.hdr-log{font-size:.88rem}
.pcard{position:relative}.pc-log{position:absolute;right:.6rem;bottom:.6rem;z-index:3;background:var(--pri);color:#fff;font-size:.78rem;font-weight:700;padding:.3rem .65rem;border-radius:999px;box-shadow:0 2px 6px #4f46e540;opacity:.92}
.pc-log:hover{opacity:1;color:#fff;text-decoration:none}
.wf-wrap{max-width:860px}.wf .wf-sec{margin-bottom:1rem}.wf-h{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}.wf-h h2{margin:0;font-size:1.05rem}
.wf-n{width:1.6rem;height:1.6rem;border-radius:50%;background:#eef2ff;color:var(--pri);font-weight:800;display:grid;place-items:center;font-size:.85rem}
.pp-tools{display:flex;gap:.5rem;flex-wrap:wrap}.pp-tools input{flex:1;min-width:200px}.pp-tools select{max-width:260px}
.pp-sel{display:flex;flex-wrap:wrap;gap:.35rem;margin:.6rem 0}.pp-sel .chip{font-size:.8rem}
.pp-list{max-height:270px;overflow:auto;border:1px solid var(--bd);border-radius:var(--r-sm);background:#fff}
.pp-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;border-bottom:1px solid var(--bd);cursor:pointer;margin:0;font-weight:400}
.pp-item:last-of-type{border-bottom:0}.pp-item:hover{background:#f8fafc}.pp-item input{display:none}.pp-main{flex:1;display:flex;flex-direction:column;min-width:0}
.pp-tick{width:1.35rem;height:1.35rem;border:2px solid var(--bd);border-radius:6px;display:grid;place-items:center;color:transparent;font-size:.8rem;font-weight:900}
.pp-item.on{background:#eef2ff}.pp-item.on .pp-tick{background:var(--pri);border-color:var(--pri);color:#fff}.pp-none{padding:.8rem}
.pp-actions{margin-top:.4rem}.link{background:none;border:0;color:var(--pri);cursor:pointer;padding:0;font:inherit}
.wf-unit{margin-top:.8rem}.catpick{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}
.costmode{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;background:#f8fafc;border:1px dashed var(--bd);border-radius:var(--r-sm);padding:.6rem .8rem;margin:.2rem 0 .8rem}
.wf-more{border-top:1px solid var(--bd);padding-top:.7rem;margin-top:.3rem}.wf-more summary{cursor:pointer;font-weight:600;margin-bottom:.6rem}
.upl{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.upl-btn{cursor:pointer;margin:0}.att-rm{display:block}
.wf-actions{display:flex;flex-wrap:wrap;gap:.5rem;position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 30%);padding:1rem 0 .5rem}
.quickadd{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.quickadd>*{margin:0}.quickadd input[name=description]{flex:2;min-width:180px}
.quickadd select{max-width:220px}.qa-cost{width:110px}.qa-date{width:150px}.qa-t{font-weight:700;font-size:.85rem;color:var(--mut)}
.wl-filters{margin-bottom:1rem}.wl-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.6rem}.wl-row>*{margin:0}.wl-row input[type=search]{flex:1;min-width:200px}
.wl-row label.small{display:flex;align-items:center;gap:.35rem}.wl-row .chk{font-weight:500}.wl-cats{margin:0}.wl-cats .chip{text-decoration:none}
.wl-cat-sum{display:flex;flex-wrap:wrap;gap:.9rem;margin:0 0 1rem;font-size:.85rem;font-weight:600}
.wl-month{margin-bottom:1rem;overflow:hidden}.wl-mh{display:flex;justify-content:space-between;align-items:baseline;padding:.8rem 1rem;border-bottom:1px solid var(--bd);background:#fafbfd}.wl-mh h2{margin:0;font-size:1rem}
.wl-item{display:flex;gap:.9rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--bd);color:inherit}.wl-item:last-child{border-bottom:0}.wl-item:hover{background:#f8fafc;text-decoration:none}
.wl-date{width:2.6rem;text-align:center;display:flex;flex-direction:column;line-height:1.1}.wl-date b{font-size:1.15rem}.wl-date span{font-size:.7rem;color:var(--mut)}
.wl-body{flex:1;min-width:0}.wl-top{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:.15rem}.wl-desc{color:var(--ink)}.wl-cost{font-weight:700;white-space:nowrap}
.tab-log i{background:var(--pri);color:#fff;border-radius:50%;width:1.9rem;height:1.9rem;display:grid;place-items:center;font-size:1.1rem;margin-top:-.2rem}.tabbar a.tab-log{color:#fff}
@media(max-width:760px){.topstrip{display:none}.quickadd select,.quickadd input{max-width:none;flex:1 1 100%}.wf-actions .btn{flex:1}.row3{grid-template-columns:1fr}}
.wl-row>input,.wl-row>select,.quickadd>input,.quickadd>select{width:auto}.wl-row>select{flex:0 1 220px}.wl-row>input[name=vendor]{flex:0 1 180px}.wl-row label.small input{width:auto}
.quickadd>select[name=pid]{flex:1 1 200px}.quickadd>select[name=category]{flex:0 1 150px}
@media(max-width:760px){.wl-row>select,.wl-row>input{flex:1 1 100%}}
[hidden]{display:none!important}
/* ---- filter bars ---- */
.fbar{background:#fff;border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh);padding:.7rem .8rem;margin-bottom:1rem}
.fb-main,.fb-adv{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.fb-main>*,.fb-adv>*{margin:0}
.fb-main input[type=search]{flex:1 1 240px;width:auto}.fb-main select,.fb-adv select,.fb-adv input{width:auto;flex:0 1 210px}
.fb-adv{border-top:1px dashed var(--bd);margin-top:.7rem;padding-top:.7rem}.fb-adv label{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--mut);font-weight:600}
.fb-adv label input{flex:none}.fb-adv .chk{font-weight:500;color:var(--ink)}.fb-presets{display:flex;gap:.3rem;flex-wrap:wrap}.fb-presets .chip{text-decoration:none}
.fb-toggle .car{display:inline-block;transition:transform .15s}.fb-toggle.on .car{transform:rotate(180deg)}.fb-toggle.on{background:#eef2ff;color:var(--pri)}
.fb-toggle.has::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--pri);display:inline-block;margin-left:.3rem}
.fb-clear{color:#be123c}.fb-right{margin-left:auto!important}
.row4{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:.9rem}
.psize{display:flex;flex-wrap:wrap;gap:.7rem;font-size:.8rem;color:var(--ink);margin:.1rem 0 .55rem;font-weight:600}
/* ---- tabs ---- */
.tabs{display:flex;gap:.2rem;border-bottom:1px solid var(--bd);margin:0 0 1rem;overflow-x:auto}
.tabs a{padding:.6rem .95rem;font-weight:600;color:var(--mut);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs a:hover{color:var(--ink);text-decoration:none}.tabs a.on{color:var(--pri);border-bottom-color:var(--pri)}
/* ---- accent KPI cards ---- */
.kpis-acc .kpi,.dk{position:relative;overflow:hidden}
.kpis-acc .kpi::before,.dk::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--acc,#6366f1)}
.acc-indigo{--acc:#6366f1;--acc-bg:#eef2ff}.acc-teal{--acc:#0d9488;--acc-bg:#ccfbf1}.acc-amber{--acc:#d97706;--acc-bg:#fef3c7}.acc-rose{--acc:#e11d48;--acc-bg:#ffe4e6}.acc-green{--acc:#16a34a;--acc-bg:#dcfce7}.acc-sky{--acc:#0284c7;--acc-bg:#e0f2fe}.acc-violet{--acc:#7c3aed;--acc-bg:#ede9fe}.acc-slate{--acc:#475569;--acc-bg:#f1f5f9}
@media(max-width:760px){.fb-main select,.fb-adv select,.fb-adv input{flex:1 1 45%}.fb-right{margin-left:0!important}.row4{grid-template-columns:1fr 1fr}}
/* ---- dashboard ---- */
.dash{display:flex;flex-direction:column;gap:1.1rem}.dash>*{margin:0}
.dhead{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.dhead h1{margin:.1rem 0 .2rem;font-size:1.7rem;letter-spacing:-.02em}
.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:var(--mut)}.dhead .sub{margin:0;color:var(--mut)}
.cofilter{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:0;background:none;border:0;box-shadow:none}.cf-l{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-right:.3rem}
.dkpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.dk{background:#fff;border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh);padding:1rem 1.1rem 1rem 1.3rem;display:flex;flex-direction:column;gap:.25rem;min-height:128px}
.dk-l{font-size:.78rem;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.4rem}
.dk-l::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acc)}
.dk-v{font-size:1.85rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}.dk-v small{font-size:1rem;color:var(--mut);margin-left:.1rem}.dk-v.neg{color:#be123c}
.dk-s{font-size:.82rem;color:var(--mut)}.dk .spark{width:100%;height:30px;margin-top:auto}
.meterbar{height:6px;border-radius:99px;background:var(--acc-bg,#eef2ff);overflow:hidden;margin-top:auto}.meterbar i{display:block;height:100%;background:var(--acc,#6366f1);border-radius:99px}
.meterbar.sm{width:70px;height:5px;margin:0;--acc:#6366f1}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.dgrid>.span2{grid-column:span 2}
.dcard{padding:1.1rem 1.2rem;margin:0}.dc-h{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.dc-h h2{margin:0;font-size:1.02rem}.dc-h p{margin:.15rem 0 0}
.legend{display:flex;gap:.9rem;font-size:.78rem;color:var(--mut);font-weight:600}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.35rem;vertical-align:-1px}
.chart{width:100%;height:auto;display:block}.chart .grid{stroke:#eef1f6;stroke-width:1}.chart .ax{font-size:11px;fill:#94a3b8;font-family:inherit}
.chart.hb .lb{font-size:12.5px;fill:#334155;font-weight:600}.chart.hb .vl{font-size:12px;fill:#0f172a;font-weight:700}.chart.hb .track{fill:#f1f5f9}
.dempty{padding:1.6rem 1rem;text-align:center;color:var(--mut);background:#fafbfd;border:1px dashed var(--bd);border-radius:var(--r-sm)}.dempty.ok{color:var(--ok);background:#f0fdf4;border-color:#bbf7d0}
.ptab th{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);background:#fafbfd}.ptab td{padding-top:.7rem;padding-bottom:.7rem}
.ptab tfoot td{font-weight:800;border-top:2px solid var(--bd);background:#fafbfd}
.coname{display:flex;align-items:center;gap:.55rem;font-weight:700;color:var(--ink)}.coico.sm{width:1.7rem;height:1.7rem;font-size:.8rem;border-radius:8px;flex:none}
.occ{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600}
.pill{display:inline-block;padding:.12rem .5rem;border-radius:99px;font-size:.78rem;font-weight:700}.pill.ok{background:var(--okbg);color:var(--ok)}.pill.bad{background:var(--badbg);color:#be123c}
.fineprint{margin:.8rem 0 0}
@media(max-width:1100px){.dkpis{grid-template-columns:repeat(2,1fr)}.dgrid{grid-template-columns:1fr}.dgrid>.span2{grid-column:auto}}
@media(max-width:560px){.dkpis{grid-template-columns:1fr}.dk{min-height:0}.dhead .actions{width:100%}.dk-v{font-size:1.55rem}}
/* ===== Round 12: professional SaaS theme (overrides everything above) ===== */
:root{--bg:#f8fafc;--card:#fff;--ink:#0f172a;--ink2:#334155;--mut:#64748b;--pri:#2563eb;--pri2:#1d4ed8;--pri-50:#eff6ff;--bd:#e2e8f0;--bd2:#cbd5e1;--r:8px;--r-sm:6px;--sh:none;--side:232px;
  --ok:#15803d;--ok-bg:#f0fdf4;--warn:#b45309;--warn-bg:#fffbeb;--bad:#b91c1c;--bad-bg:#fef2f2;--info-bg:#f1f5f9}
body{font:14px/1.5 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink)}
h1{font-size:1.375rem;font-weight:650;letter-spacing:-.015em;line-height:1.3}h2{font-size:.975rem;font-weight:600;letter-spacing:-.005em}h3{font-size:.925rem;font-weight:600}
.app main{padding:1.5rem 2rem 3rem;max-width:calc(1240px + var(--side))}
/* sidebar: light, bordered, pinned bottom group */
.side{background:#fff;color:var(--ink2);border-right:1px solid var(--bd);padding:1rem .75rem;overflow-y:auto}
.brand{color:var(--ink);font-weight:650;font-size:.975rem;padding:.25rem .5rem 1.1rem}
.logo{width:28px;height:28px;border-radius:var(--r-sm);background:var(--pri);font-size:.7rem;font-weight:700}
.side nav{gap:1px}.side nav a,.me a{color:var(--ink2);padding:.45rem .6rem;border-radius:var(--r-sm);font-weight:500;font-size:.875rem;gap:.6rem}
.side nav a:hover,.me a:hover{background:#f1f5f9;color:var(--ink)}
.side a.on{background:var(--pri-50);color:var(--pri);box-shadow:none;font-weight:600}
.side i{width:1.1rem;font-size:.9rem;opacity:.85}
.side nav.side-bottom{flex:0 0 auto;border-top:1px solid var(--bd);padding-top:.6rem;margin-top:.6rem}
.me{border-top:1px solid var(--bd);padding-top:.6rem;margin-top:.6rem}.me .link{color:var(--mut);font-size:.85rem}.av{width:24px;height:24px;background:#e2e8f0;color:var(--ink2);font-size:.72rem;font-weight:600}
/* surfaces */
.card,.kpi,.filters,.fbar,.dk,.kpis-acc .kpi{border:1px solid var(--bd);border-radius:var(--r);box-shadow:none}
.card{margin-bottom:1rem}.pad{padding:1rem 1.25rem}
.bar,.phead{margin:0 0 1.25rem;min-height:36px;overflow:visible}.bar h1,.phead h1{line-height:1.3}
/* buttons */
.btn{padding:.45rem .85rem;border-radius:var(--r-sm);border:1px solid var(--bd2);background:#fff;color:var(--ink);font-weight:500;font-size:.85rem;line-height:1.25;box-shadow:0 1px 0 #0f172a08}
.btn:hover{background:#f8fafc;border-color:#94a3b8}.btn.sm{padding:.3rem .65rem;font-size:.8rem}
.primary,.btn.primary{background:var(--pri);border-color:var(--pri);color:#fff}.primary:hover,.btn.primary:hover{background:var(--pri2);border-color:var(--pri2)}
.btn.ghost{border-color:transparent;background:transparent;box-shadow:none;color:var(--mut)}.btn.ghost:hover{background:#f1f5f9;color:var(--ink)}
.danger{color:var(--bad);border-color:#fecaca}
/* forms */
label{font-weight:500;font-size:.825rem;color:var(--ink2)}
input,select,textarea{padding:.45rem .65rem;border:1px solid var(--bd2);border-radius:var(--r-sm);font-size:.875rem}
input:focus,select:focus,textarea:focus{border-color:var(--pri);box-shadow:0 0 0 3px #2563eb26}
/* tables */
table.list{border-collapse:collapse;width:100%}
table.list th,table.list thead th,table.list tr:first-child th{background:#f8fafc;color:var(--mut);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.55rem .75rem;border-bottom:1px solid var(--bd);white-space:nowrap}
table.list td{padding:.6rem .75rem;border-bottom:1px solid #f1f5f9;font-size:.865rem;vertical-align:middle}
table.list tr:hover td{background:#fafbfc}table.list tr.tot td,.ptab tfoot td{background:#f8fafc;font-weight:600;border-top:1px solid var(--bd)}
/* tags / pills: muted semantic */
.tag,.pill,.badge{border-radius:4px;font-weight:500;font-size:.72rem;padding:.12rem .45rem}
.tag.ok,.tag.st-occupied,.pill.ok{background:var(--ok-bg);color:var(--ok)}
/* segmented, tabs, chips */
.seg{background:#f1f5f9;border:1px solid var(--bd);border-radius:var(--r-sm);padding:2px}.seg a{border-radius:4px;font-weight:500;font-size:.82rem;padding:.25rem .7rem}.seg a.on{box-shadow:0 1px 2px #0f172a14}
.tabs{border-bottom:1px solid var(--bd);gap:1.25rem}.tabs a{font-weight:500;font-size:.875rem;padding:.5rem 0}.tabs a.on{color:var(--pri);border-color:var(--pri)}
.chip{border-radius:999px;border:1px solid var(--bd2);background:#fff;font-weight:500;font-size:.8rem}.chip.on{background:var(--pri-50);border-color:#bfdbfe;color:var(--pri)}
/* filter bar */
.fbar{background:#fff;padding:.6rem;margin-bottom:1rem}.fb-main,.fb-adv{gap:.5rem}.fb-adv{border-top:1px solid var(--bd);margin-top:.6rem;padding-top:.6rem;display:flex;flex-direction:column;gap:.6rem}
.fb-advrow{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.fb-advrow select,.fb-advrow input{width:auto;flex:0 1 190px;margin:0}
.fb-lab{font-size:.72rem;font-weight:600;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;min-width:84px}
.fb-bulk{padding-top:.6rem;border-top:1px dashed var(--bd)}
.selbar{display:flex;align-items:center;gap:.75rem;margin:0 0 .75rem;padding:0 .25rem}.selbar .selall{margin:0;display:inline-flex;align-items:center;gap:.4rem;font-weight:500}.selbar .selall input{margin:0}
/* KPIs & dashboard: neutral cards, small colored marker only */
.kpi,.dk{background:#fff;padding:1rem 1.1rem}.kpis{gap:.75rem}.kpi span,.dk-l{font-size:.72rem;font-weight:600;color:var(--mut);letter-spacing:.04em;text-transform:uppercase}
.kpi b,.dk-v{font-size:1.5rem;font-weight:650;letter-spacing:-.02em}
.kpis-acc .kpi::before,.dk::before{display:none!important}
.dkpis{gap:.75rem}.dgrid{gap:.75rem}.dcard{padding:1rem 1.25rem}.dashboard .card,.dash .card{margin:0}
.meterbar{height:4px;border-radius:2px;background:#f1f5f9}.meterbar i{border-radius:2px}
.dash .dhead{margin-bottom:1rem}.eyebrow{font-size:.72rem;letter-spacing:.06em;color:var(--mut)}
.legend i.ln{display:inline-block;width:14px;height:2px;background:#4f46e5;vertical-align:middle;border-radius:0}
.cfsum{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--bd);border-radius:var(--r-sm);margin:.25rem 0 .75rem}
.cfsum>div{padding:.55rem .8rem;border-left:1px solid var(--bd)}.cfsum>div:first-child{border-left:0}
.cfsum span{display:block;font-size:.7rem;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.cfsum b{font-size:1rem;font-weight:600}.cfsum em{font-style:normal;font-weight:500}
.pos{color:var(--ok)}.neg{color:var(--bad)}.cfnote{margin:.4rem 0 0}
.flash{border-radius:var(--r-sm);box-shadow:none}
.pcard,.pcard .prop{border-radius:var(--r)}.pimg{border-radius:var(--r) var(--r) 0 0}
@media(max-width:900px){.cfsum{grid-template-columns:1fr 1fr}.cfsum>div:nth-child(3){border-left:0}.cfsum>div:nth-child(n+3){border-top:1px solid var(--bd)}}
@media(max-width:760px){.app main{padding:1rem .9rem 5.5rem}.tabbar{background:#fff;border-top:1px solid var(--bd);box-shadow:none}.tabbar a.on{color:var(--pri)}
 .fb-lab{min-width:0;width:100%}.fb-advrow select,.fb-advrow input{flex:1 1 140px}h1{font-size:1.2rem}}
.acc-indigo{--acc:#4f46e5}.acc-teal{--acc:#0f766e}.acc-amber{--acc:#b45309}.acc-rose{--acc:#be123c}.acc-green{--acc:#15803d}.acc-violet{--acc:#6d28d9}
.tabbar a{color:#64748b}
.fb-adv{align-items:stretch!important;justify-content:flex-start}.fb-advrow{width:100%;justify-content:flex-start}.fb-adv>.fb-advrow{flex-wrap:wrap}
/* ===== Round 13: color layer (keeps 6-8px radius, 1px borders) ===== */
:root{--bg:#eef2f8;--bd:#dbe3ee;--pri:#4f46e5;--pri2:#4338ca;--pri-50:#eef2ff;--thead:#eef2ff;--thead-ink:#3730a3}
body{background:var(--bg)}
/* deep sidebar */
.side{background:linear-gradient(180deg,#1e1b4b 0%,#1e2a5a 55%,#0f2547 100%);border-right:0;color:#c7d2fe}
.brand{color:#fff}.logo{background:linear-gradient(135deg,#818cf8,#22d3ee);color:#1e1b4b}
.side nav a,.me a{color:#c7d2fe}.side nav a:hover,.me a:hover{background:#ffffff14;color:#fff}
.side a.on{background:#ffffff1f;color:#fff;font-weight:600;box-shadow:inset 3px 0 0 #22d3ee}
.side nav.side-bottom,.me{border-top-color:#ffffff1f}.me .link{color:#a5b4fc}.av{background:#6366f1;color:#fff}
/* buttons */
.btn.primary,.primary{background:linear-gradient(180deg,#5b54ea,#4f46e5);border-color:#4338ca;color:#fff}.btn.primary:hover,.primary:hover{background:#4338ca}
input:focus,select:focus,textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f12e}
a{color:#4338ca}
/* KPI cards: colored top border + tinted marker */
.dk,.kpis-acc .kpi,.kpi{border-top:3px solid var(--acc,#6366f1)}
.dk-l::before{width:22px;height:22px;border-radius:6px;background:var(--acc-bg,#eef2ff);box-shadow:inset 0 0 0 6px var(--acc-bg,#eef2ff),inset 0 0 0 11px var(--acc)}
.dk-l{display:flex;align-items:center;gap:.5rem}
.acc-indigo{--acc:#4f46e5;--acc-bg:#e0e7ff}.acc-teal{--acc:#0d9488;--acc-bg:#ccfbf1}.acc-green{--acc:#059669;--acc-bg:#d1fae5}.acc-rose{--acc:#e11d48;--acc-bg:#ffe4e6}.acc-violet{--acc:#7c3aed;--acc-bg:#ede9fe}.acc-amber{--acc:#d97706;--acc-bg:#fef3c7}
.meterbar{background:var(--acc-bg,#e0e7ff)}.meterbar i{background:var(--acc,#4f46e5)}
.legend i.ln{background:#4f46e5}
/* tinted table headers */
table.list th,table.list thead th,table.list tr:first-child th,.ptab th{background:var(--thead);color:var(--thead-ink);border-bottom:1px solid #c7d2fe}
table.list tr:hover td{background:#f5f7ff}table.list tr.tot td,.ptab tfoot td{background:#f1f5ff}
.cfsum{background:linear-gradient(180deg,#f8faff,#fff)}.cfsum>div:nth-child(1) b{color:#0f766e}.cfsum>div:nth-child(2) b{color:#be123c}
/* tabs, chips, segmented */
.tabs a.on{color:var(--pri);border-color:var(--pri)}.chip.on{background:#4f46e5;border-color:#4f46e5;color:#fff}
.seg a.on{background:#4f46e5;color:#fff}
.fbar{border-left:3px solid #6366f1}
/* category pills (all pass AA: dark text on light tint) */
.tag{background:#e2e8f0;color:#334155}
.t-appliance{background:#dbeafe;color:#1e40af}.t-flooring{background:#fef3c7;color:#92400e}.t-plumbing{background:#cffafe;color:#155e75}.t-hvac{background:#ede9fe;color:#5b21b6}
.t-roof{background:#ffe4e6;color:#9f1239}.t-paint{background:#fce7f3;color:#9d174d}.t-electrical{background:#fef9c3;color:#854d0e}.t-landscaping{background:#dcfce7;color:#166534}
.t-other,.t-general{background:#e2e8f0;color:#334155}.t-pest-control{background:#ffedd5;color:#9a3412}.t-cleaning{background:#e0f2fe;color:#075985}.t-repair{background:#f3e8ff;color:#6b21a8}
/* status pills */
.tag.ok,.tag.st-occupied,.tag.paid,.pill.ok{background:#d1fae5;color:#065f46}
.tag.st-vacant,.tag.bad,.tag.late,.pill.bad{background:#ffe4e6;color:#9f1239}
.tag.st-make_ready,.tag.warn,.tag.due{background:#fef3c7;color:#92400e}.tag.info,.tag.ended{background:#e0e7ff;color:#3730a3}
/* company color tags */
.coico{color:#fff;border-radius:6px}.co-badge{border:0}
.cc-0{background:#4f46e5;color:#fff}.cc-1{background:#0d9488;color:#fff}.cc-2{background:#c2410c;color:#fff}.cc-3{background:#be123c;color:#fff}.cc-4{background:#7c3aed;color:#fff}.cc-5{background:#047857;color:#fff}
.tag.co-badge.cc-0{background:#e0e7ff;color:#3730a3}.tag.co-badge.cc-1{background:#ccfbf1;color:#115e59}.tag.co-badge.cc-2{background:#ffedd5;color:#9a3412}.tag.co-badge.cc-3{background:#ffe4e6;color:#9f1239}.tag.co-badge.cc-4{background:#ede9fe;color:#5b21b6}.tag.co-badge.cc-5{background:#d1fae5;color:#065f46}
.co.card{border-top:3px solid #6366f1}
/* phone tab bar */
@media(max-width:760px){.tabbar{background:#1e1b4b;border-top:0}.tabbar a{color:#c7d2fe}.tabbar a.on{color:#fff;background:#ffffff1a;border-radius:6px}}
.tag.st-paid,.tag.st-current{background:#d1fae5;color:#065f46}.tag.st-late{background:#ffe4e6;color:#9f1239}.tag.st-due,.tag.st-partial{background:#fef3c7;color:#92400e}.tag.st-ended{background:#e0e7ff;color:#3730a3}
