:root{--navy:#333f48;--navy-2:#2a343b;--yellow:#ffe900;--gray:#bbbcbc;--alert:#df1995;--error:#e0004d;--success:#2fae66;--radius:16px}:root,:root[data-theme=light]{--bg:#f4f5f6;--card:#fff;--ink:#333f48;--muted:#6b757c;--line:#e6e8ea;--side:#333f48;--side-ink:#dfe3e6;--track:#eef0f1;--shadow:0 1px 3px rgba(51,63,72,0.08),0 6px 20px rgba(51,63,72,0.06)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a1f24;--card:#242b31;--ink:#e8ebed;--muted:#9aa4ac;--line:#333f47;--side:#11151a;--side-ink:#c4ccd1;--track:#2f3841;--shadow:0 1px 3px rgba(0,0,0,0.4),0 6px 20px rgba(0,0,0,0.3)}}:root[data-theme=dark]{--bg:#1a1f24;--card:#242b31;--ink:#e8ebed;--muted:#9aa4ac;--line:#333f47;--side:#11151a;--side-ink:#c4ccd1;--track:#2f3841;--shadow:0 1px 3px rgba(0,0,0,0.4),0 6px 20px rgba(0,0,0,0.3)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Roboto,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}h1,h2,h3,h4{letter-spacing:-.01em}.cond,h1,h2,h3,h4{font-family:Nunito,system-ui,sans-serif}.cond{font-weight:800}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.side{background:var(--side);color:var(--side-ink);padding:18px 14px;flex-direction:column;gap:6px}.logo,.side{display:flex}.logo{align-items:center;gap:10px;padding:6px 6px 18px}.logo .mark{width:40px;height:40px;border-radius:8px;display:block;object-fit:cover}.logo b{font-family:Nunito;letter-spacing:.5px;font-size:16px;color:#fff;display:block}.logo span{display:block;font-size:10px;color:var(--gray);letter-spacing:2px}.nav a{display:flex;align-items:center;gap:10px;color:#c4ccd1;text-decoration:none;padding:10px 12px;border-radius:9px;font-weight:500;font-size:13px;cursor:pointer}.nav a:hover{background:rgba(255,255,255,.06);color:#fff}.nav a.active{background:var(--yellow);color:var(--navy);font-weight:700}.nav a.disabled{opacity:.45;cursor:default;pointer-events:none}.nav .ico{width:18px;text-align:center}.nav .soon{margin-left:auto;font-size:9px;background:rgba(255,255,255,.12);padding:2px 6px;border-radius:8px;letter-spacing:.5px}.side .foot{margin-top:auto;font-size:11px;color:var(--gray);padding:10px 8px;border-top:1px solid rgba(255,255,255,.08)}.main{flex-direction:column;min-width:0}.main,.top{display:flex}.top{align-items:center;justify-content:space-between;gap:14px;padding:14px 26px;background:var(--card);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:5}.top h1{font-family:Nunito;font-size:20px;margin:0;flex:1 1}.usr{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}.content{padding:24px 26px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:22px}.kpi{background:var(--card);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);border-left:4px solid var(--navy)}.kpi.y{border-color:var(--yellow)}.kpi.a{border-color:var(--alert)}.kpi.e{border-color:var(--error)}.kpi.s{border-color:var(--success)}.kpi .n{font-family:Nunito;font-size:30px;font-weight:700;line-height:1}.kpi .l{color:var(--muted);font-size:12px;margin-top:6px;text-transform:uppercase;letter-spacing:.5px}.grid2{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:16px;gap:16px}.panel{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.panel h3{font-family:Nunito;margin:0 0 14px;font-size:15px;text-transform:uppercase;letter-spacing:.5px}.bars{display:flex;align-items:flex-end;gap:14px;height:150px;padding-top:10px}.bars .b{flex:1 1;background:linear-gradient(var(--navy),#4a5760);border-radius:6px 6px 0 0;position:relative}.bars .b span{bottom:-20px;color:var(--muted)}.bars .b i,.bars .b span{position:absolute;left:0;right:0;text-align:center;font-size:11px}.bars .b i{top:-18px;font-weight:700;font-style:normal}.bars .b.hl{background:linear-gradient(var(--yellow),#e6d200)}.barrow{margin-bottom:12px}.barrow .track{height:8px;background:var(--track);border-radius:5px;margin-top:5px}.barrow .fill{height:100%;border-radius:5px;background:var(--navy)}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.chip{padding:7px 13px;border:1px solid var(--line);background:var(--card);border-radius:999px;font-size:12px;cursor:pointer;color:var(--muted);text-decoration:none}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.btn{background:var(--yellow);color:var(--navy);border:none;padding:10px 18px;border-radius:12px;font-weight:800;font-family:Nunito,sans-serif;cursor:pointer;font-size:13px;text-decoration:none;display:inline-block}.btn.ghost{background:var(--card);border:1px solid var(--line);color:var(--ink)}.btn.sm{padding:6px 11px;font-size:12px}table{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}th{background:var(--track);text-align:left;padding:11px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}td{padding:12px 14px;border-top:1px solid var(--line);font-size:13px}tbody tr:hover{background:rgba(127,127,127,.06)}tr.rowlink{cursor:pointer}.code{font-family:Nunito;color:var(--navy);text-decoration:none}.code,.tag{font-weight:700}.tag{padding:3px 9px;border-radius:12px;font-size:11px;display:inline-block;white-space:nowrap}.p-LOW{background:#e7f6ee;color:var(--success)}.p-MEDIUM{background:#fff6cc;color:#8a7500}.p-HIGH{background:#fde3ec;color:var(--error)}.p-URGENT{background:var(--error);color:#fff}.s-NEW{background:#e8ebed;color:var(--navy)}.s-ASSIGNED{background:#e3edf7;color:#2f5d8a}.s-IN_PROGRESS{background:#fff6cc;color:#8a7500}.s-WAITING{background:#fce1f2;color:var(--alert)}.s-RESOLVED{background:#e7f6ee;color:var(--success)}.s-CLOSED{background:#e8ebed;color:var(--muted)}.sla{font-weight:700}.sla.ok{color:var(--success)}.sla.warn{color:#c99700}.sla.bad{color:var(--error)}.detail{display:grid;grid-template-columns:1fr 320px;grid-gap:16px;gap:16px}.thread{display:flex;flex-direction:column;gap:12px}.msg{background:var(--card);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.msg .h{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:6px}.msg .h b{color:var(--ink)}.msg.int{border-left:3px solid var(--alert)}.ai{background:linear-gradient(135deg,#333f48,#3f4c56);color:#eef1f3}.ai h4{margin:0 0 8px;font-family:Nunito;color:var(--yellow);font-size:13px;letter-spacing:.5px}.ai .sug{background:rgba(255,255,255,.08);padding:10px;border-radius:8px;font-size:13px;margin-bottom:8px}.ai .mini{font-size:11px;color:var(--gray)}.meta div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.meta div:last-child{border:none}.banner,.meta div span:first-child{color:var(--muted)}.banner{background:#eef0f1;border:1px dashed var(--gray);border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:18px}.form{max-width:640px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.form label{display:block;font-size:12px;font-weight:700;margin:14px 0 6px;color:var(--navy)}.form input,.form select,.form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-family:inherit;font-size:13px}.form textarea{resize:vertical}.aihint{background:#fff6cc;border:1px solid #ffe98a;border-radius:9px;padding:10px 12px;font-size:12px;margin-top:8px;color:#6a5c00}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.reply textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;font-family:inherit;font-size:13px;min-height:70px;resize:vertical}.muted{color:var(--muted)}.stack{display:flex;flex-direction:column;gap:14px}.signin{min-height:100vh;display:grid;place-items:center;background:var(--navy);padding:24px}.signin-card{background:var(--card);padding:40px 36px;border-radius:16px;width:360px;max-width:100%;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.25)}.signin-logo{width:72px;height:72px;margin:0 auto 14px;display:block;border-radius:14px}.signin-title{margin:0 0 4px;font-size:22px;color:var(--ink)}.signin-sub{color:var(--muted);margin-top:0;font-size:13px;line-height:1.5}.signin-sub-es{color:var(--muted);opacity:.7;font-size:12px}.signin-btn{margin-top:18px;width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-weight:600;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-family:inherit}.signin-btn:hover{background:rgba(0,0,0,.03)}.signin-notice{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:10px;background:rgba(223,25,149,.06);color:var(--ink);font-size:13px;line-height:1.5}.signin-notice-hint{display:block;margin-top:8px;color:var(--muted);font-size:11px}.signin-notice code{background:rgba(0,0,0,.06);padding:1px 5px;border-radius:4px;font-size:11px}.signin-foot{color:var(--muted);font-size:11px;margin-top:18px}@media (prefers-color-scheme:dark){.signin{background:#1c2329}.signin-card{background:#262f36;box-shadow:0 10px 40px rgba(0,0,0,.5)}.signin-btn,.signin-title{color:#f4f5f6}.signin-btn{background:#2f3a42;border-color:#3a454d}.signin-btn:hover{background:#37424b}.signin-notice{background:rgba(223,25,149,.12);color:#f4f5f6}.signin-notice code{background:rgba(255,255,255,.1)}}.shell-controls{display:flex;align-items:center;gap:8px}.seg{display:flex;background:var(--track);border-radius:20px;padding:3px}.seg button{border:none;background:transparent;color:var(--muted);padding:4px 10px;border-radius:16px;cursor:pointer;font-size:12px;font-weight:700;font-family:inherit;line-height:1}.seg button.on{background:var(--yellow);color:var(--navy)}.sup-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.sup-head .prop{font-family:Nunito;font-size:22px;margin:0;color:var(--ink)}.sup-head .sub{color:var(--muted);font-size:13px}.sup-legend{gap:14px;font-size:12px;color:var(--muted);flex-wrap:wrap}.sup-legend,.sup-legend span{display:flex;align-items:center}.sup-legend span{gap:6px}.sup-legend .dot{width:11px;height:11px;border-radius:50%;display:inline-block}.sup-grid{display:grid;grid-template-columns:1fr 360px;grid-gap:16px;gap:16px;align-items:start}@media (max-width:980px){.sup-grid{grid-template-columns:1fr}}.mapwrap{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;overflow:auto}.mapstage{position:relative;max-width:820px;margin:0 auto}.mapstage img{width:100%;display:block;border-radius:10px}.hot{position:absolute;transform:translate(-50%,-50%);cursor:pointer;z-index:2;background:none;border:none;padding:0}.hot .pin{width:20px;height:20px;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.4);transition:transform .12s}.hot:hover .pin{transform:scale(1.35)}.hot.active .pin{transform:scale(1.5);outline:3px solid rgba(255,233,0,.6)}.hot.c1 .pin{background:var(--gray)}.hot.c2 .pin{background:var(--yellow)}.hot.c3 .pin{background:var(--alert)}.hot.c4 .pin{background:var(--error)}.hot .tip{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none}.hot:hover .tip{opacity:1}.sup-panel{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;min-height:200px;position:-webkit-sticky;position:sticky;top:84px}.sup-panel .ph{font-family:Nunito;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 6px}.sup-panel .bname{font-family:Nunito;font-size:26px;margin:0 0 10px;color:var(--ink)}.sup-panel .empty{color:var(--muted);font-size:13px;padding:20px 0;text-align:center}.sup-kpis{display:flex;gap:8px;margin:12px 0}.sup-kpis .k{flex:1 1;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:8px;text-align:center}.sup-kpis .k .n{font-family:Nunito;font-weight:700;font-size:18px;color:var(--ink)}.sup-kpis .k .l{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.catrow{display:flex;align-items:center;gap:8px;margin:7px 0;font-size:12px}.catrow .cname{flex:0 0 auto;min-width:96px;color:var(--ink)}.catrow .bar{flex:1 1;height:7px;background:var(--track);border-radius:4px;overflow:hidden}.catrow .bar span{display:block;height:100%;background:var(--navy)}.catrow .cnt{font-weight:700;color:var(--ink)}.vrow{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.vrow .ic{font-size:16px}.vrow .t b{display:block;font-size:13px;color:var(--ink)}.vrow .t small{color:var(--muted);font-size:11px}.v-PENDING{background:#e8ebed;color:var(--navy)}.v-IN_PROGRESS{background:#fff6cc;color:#8a7500}.v-COMPLETED{background:#e7f6ee;color:var(--success)}.v-FOLLOW_UP{background:#fde3ec;color:var(--error)}.vcard{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;margin-bottom:14px}.vcard h4{font-family:Nunito;margin:0 0 4px;font-size:15px;color:var(--ink)}.vcard .meta{color:var(--muted);font-size:12px;margin-bottom:10px}.photos{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.photo{border:1px solid var(--line);border-radius:9px;overflow:hidden}.photo .cap{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:7px 10px;border-bottom:1px solid var(--line)}.photo img{width:100%;display:block}.photo .none{display:grid;place-items:center;height:140px;color:var(--muted);font-size:12px;background:var(--bg)}.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.home-card{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;text-decoration:none;color:var(--ink);transition:transform .12s,border-color .12s}.home-card:hover{transform:translateY(-2px);border-color:var(--yellow)}.home-card .ico{font-size:26px}.home-card b{font-family:Nunito;font-size:17px}.home-card .go{color:var(--muted);font-size:12px;font-weight:700}.report{background:#fff;color:#222;max-width:900px;margin:0 auto;padding:32px 36px;border-radius:12px;box-shadow:var(--shadow);font-size:12.5px;line-height:1.5}.report-head{justify-content:space-between;gap:16px;border-bottom:3px solid var(--yellow);padding-bottom:14px;margin-bottom:18px}.report-brand,.report-head{display:flex;align-items:center}.report-brand{gap:14px}.report-brand img{width:52px;height:52px;border-radius:8px;display:block}.report-brand h1{font-family:Nunito;font-size:20px;margin:0;color:#333f48}.report-brand .sub{color:#6b757c;font-size:12px}.report-client{text-align:right}.report-client .rc-name{font-family:Nunito;font-weight:700;font-size:16px;color:#333f48}.report-client .rc-conf{font-size:10px;color:#6b757c;text-transform:uppercase;letter-spacing:.5px}.report-summary{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:8px 18px;gap:8px 18px;margin-bottom:18px}.report-summary>div{display:flex;flex-direction:column;border-bottom:1px solid #e6e8ea;padding:5px 0}.report-summary>div.wide{grid-column:1/-1}.report-summary span{font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;color:#6b757c}.report-summary b{font-size:12.5px;color:#222}.report-h2{font-family:Nunito;font-size:15px;text-transform:uppercase;letter-spacing:.5px;color:#333f48;border-bottom:1px solid #333f48;padding-bottom:4px;margin:18px 0 12px}.report-viol{border:1px solid #e6e8ea;border-radius:8px;padding:12px 14px;margin-bottom:12px;page-break-inside:avoid}.rv-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rv-head b{font-size:13px;color:#333f48}.rv-cat{background:#fff6cc;color:#6a5c00;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}.rv-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.rv-grid span{font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;color:#6b757c;display:block}.rv-grid p{margin:2px 0 0}.rv-ref{font-size:11px;color:#6b757c;margin-top:8px}.rv-status{margin-top:8px;font-size:12px;font-weight:700;color:#333f48}.rphotos{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:10px}.rphoto{border:1px solid #e6e8ea;border-radius:6px;overflow:hidden}.rphoto-cap{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6b757c;padding:5px 8px;border-bottom:1px solid #e6e8ea;background:#f4f5f6}.rphoto img{width:100%;display:block}.rphoto-none{display:grid;place-items:center;height:120px;color:#9aa4ac;font-size:11px;background:#f4f5f6}.report-sign{display:grid;grid-template-columns:1fr 1fr;grid-gap:26px 40px;gap:26px 40px;margin-top:28px;page-break-inside:avoid}.report-sign>div{font-size:11px;color:#6b757c}.report-sign .line{display:block;border-top:1px solid #333f48;margin-bottom:5px;height:26px}.report-foot{margin-top:24px;padding-top:12px;border-top:1px solid #e6e8ea;text-align:center;font-size:10px;color:#6b757c}@media print{.banner,.no-print,.side,.top{display:none!important}.app{min-height:0!important}.app,.main{display:block!important}.content{padding:0!important}body{background:#fff!important}.report{box-shadow:none;border-radius:0;max-width:none;margin:0;padding:0}.rphoto img{max-height:220px;object-fit:cover}@page{margin:14mm}}.kpi{border-left-width:5px}.kpi .n{font-size:32px}.prog{height:10px;background:var(--track);overflow:hidden}.prog,.prog>span{border-radius:999px}.prog>span{display:block;height:100%;background:linear-gradient(90deg,var(--success),#46c67f);transition:width .35s ease}.prog.lg{height:14px}.progwrap{display:flex;align-items:center;gap:10px}.progwrap .pct{font-family:Nunito;font-weight:800;font-size:13px;color:var(--ink);min-width:40px;text-align:right}.kpi .prog{margin-top:10px}.hot .pin{min-width:28px;height:28px;width:auto;padding:0 5px;border-radius:14px;display:grid;place-items:center;font-family:Nunito;font-weight:800;font-size:12px;color:#fff;border:2.5px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.45)}.hot.c2 .pin{color:var(--navy)}.hot:hover .pin{transform:scale(1.18)}.hot.active .pin{transform:scale(1.28);outline:3px solid rgba(255,233,0,.75)}.hot .tip{bottom:32px}.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px;gap:14px;margin-top:4px}.bcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:10px;transition:transform .12s,border-color .12s}.bcard:hover{transform:translateY(-3px);border-color:var(--yellow)}.bcard .bc-top{display:flex;align-items:center;justify-content:space-between}.bcard .bc-code{font-family:Nunito;font-weight:900;font-size:22px}.bcard .bc-dot{width:12px;height:12px;border-radius:50%}.bcard .bc-meta{display:flex;gap:14px;font-size:12px;color:var(--muted)}.bcard .bc-meta b,.sec-title{color:var(--ink);font-family:Nunito;font-weight:800}.sec-title{font-size:16px;margin:24px 0 10px}.unit{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}.unit-h{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.unit-h .u-code{font-family:Nunito;font-weight:800;font-size:16px}.unit-h .u-floor{color:var(--muted);font-size:12px}.unit-h .progwrap{margin-left:auto;min-width:190px}.vitem{padding:14px 18px;border-top:1px solid var(--line)}.vitem:first-child{border-top:none}.vitem-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vitem-h .vt{font-weight:700}.vitem-h .vc{color:var(--muted);font-size:12px}.nov{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;margin-top:12px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px}.nov label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.nov select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:13px;background:var(--card);color:var(--ink)}.pcap{display:flex;flex-direction:column;gap:8px}.pcap-btns{display:flex;gap:6px;flex-wrap:wrap;max-width:200px}.nov-actions{display:flex;flex-direction:column;gap:6px;margin-left:auto;min-width:150px}.nov-actions .btn{text-align:center;margin-top:4px}.thumbs{display:flex;gap:12px;margin-top:12px}.thumb .lbl{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--muted);margin-bottom:4px;letter-spacing:.3px}.thumb img{object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block}.thumb .ph,.thumb img{width:130px;height:90px}.thumb .ph{display:grid;place-items:center;border-radius:10px;border:1px dashed var(--line);color:var(--muted);font-size:11px;background:var(--bg);text-align:center}.none.doc,.ph.doc,a.rphoto-none{color:var(--ink);font-weight:800;text-decoration:underline;cursor:pointer;font-size:11px;padding:6px;text-align:center}.none.doc:hover,.ph.doc:hover{color:var(--alert)}.top-logo{border-radius:7px}.bottomnav,.top-logo{display:none}@media (max-width:820px){.app{grid-template-columns:1fr}.side{display:none}.top{padding:10px 14px;gap:10px;position:-webkit-sticky;position:sticky;top:0}.top-logo{display:block}.top h1{font-size:17px;flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.usr{gap:8px}.usr .muted{display:none}.content{padding:16px 14px calc(78px + env(safe-area-inset-bottom))}.kpis{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.kpi{padding:14px}.kpi .n{font-size:24px}.grid2{grid-template-columns:1fr}.bgrid{grid-template-columns:1fr 1fr;gap:10px}.bcard{padding:13px;gap:8px}.bcard .bc-code{font-size:19px}.report-summary{grid-template-columns:1fr 1fr}.photos,.rphotos,.rv-grid{grid-template-columns:1fr}.sup-head{gap:8px}.sup-legend{display:none}table{display:block;overflow-x:auto;white-space:nowrap}.btn{padding:12px 18px}.chip{padding:9px 14px}.nov{gap:12px}.nov-actions{margin-left:0;width:100%}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--side);border-top:1px solid rgba(255,255,255,.08);justify-content:space-around;padding:8px 6px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgba(0,0,0,.18)}}.bottomnav a{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1 1;color:var(--side-ink);text-decoration:none;font-family:Nunito,sans-serif;font-size:10px;font-weight:700;padding:6px 4px;border-radius:12px;transition:color .12s,background .12s}.bottomnav a .ico{font-size:21px;line-height:1}.bottomnav a.active{color:var(--navy);background:var(--yellow)}@media (max-width:380px){.kpis{grid-template-columns:1fr 1fr}.bgrid{grid-template-columns:1fr}}@media (max-width:480px){.kpis{grid-template-columns:1fr 1fr}.report-summary{grid-template-columns:1fr}.sup-head .prop{font-size:20px}}.cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:10px;gap:10px}.cal-day{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;min-height:150px;display:flex;flex-direction:column}.cal-day.today{border-color:var(--yellow);box-shadow:0 0 0 2px var(--yellow) inset}.cal-h{padding:9px 10px;border-bottom:1px solid var(--line);display:flex;flex-direction:column}.cal-h b{font-family:Nunito;font-weight:800;font-size:13px;text-transform:capitalize}.cal-h span{font-size:11px;color:var(--muted)}.cal-body{padding:8px 10px;display:flex;flex-direction:column;gap:8px;flex:1 1}.cal-item{background:var(--bg);border-radius:8px;padding:8px;font-size:12px}.cal-item b{font-family:Nunito;font-weight:700}.cal-empty{color:var(--muted);text-align:center;padding-top:12px}@media (max-width:820px){.cal{grid-template-columns:1fr}.cal-day{min-height:auto}}.support-fab{position:fixed;bottom:24px;right:24px;z-index:50;width:56px;height:56px;border-radius:50%;border:none;background:var(--yellow);color:var(--navy);font-size:24px;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.28);display:grid;place-items:center;transition:transform .12s}.support-fab:hover{transform:scale(1.08)}.support-panel{position:fixed;bottom:92px;right:24px;z-index:50;width:360px;max-width:calc(100vw - 32px);background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 44px rgba(0,0,0,.32);overflow:hidden}.sp-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--navy);color:#fff;font-family:Nunito,sans-serif;font-weight:800}.sp-head button{background:none;border:none;color:#fff;font-size:16px;cursor:pointer}.sp-form{padding:16px;display:flex;flex-direction:column}.sp-ctx{font-size:12px;color:var(--muted);background:var(--bg);border:1px dashed var(--line);border-radius:8px;padding:8px 10px;margin-bottom:10px;word-break:break-all}.sp-form label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin:8px 0 4px}.sp-form input,.sp-form select,.sp-form textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:13px;background:var(--card);color:var(--ink)}.sp-form textarea{resize:vertical}.sp-done{padding:26px 18px;text-align:center}.sp-done .sp-check{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:var(--success);color:#fff;font-size:26px;display:grid;place-items:center}.sp-done .code{font-family:Nunito;font-weight:800;font-size:18px;color:var(--navy);margin:8px 0 16px}@media (max-width:820px){.support-fab{bottom:84px;right:16px;width:52px;height:52px}.support-panel{bottom:148px;right:16px;left:16px;width:auto}}.progbig{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;margin-bottom:18px}.progbig-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.progbig-top span{font-family:Nunito,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.5px;font-size:12px;color:var(--muted)}.progbig-top b{font-family:Nunito,sans-serif;font-weight:900;font-size:26px;color:var(--success)}.prog.xl{height:22px}.prog.xl>span{background:linear-gradient(90deg,var(--success),#46c67f);box-shadow:inset 0 0 12px rgba(47,174,102,.4)}.progbig-sub{margin-top:7px;font-size:12px;color:var(--muted)}.vfilter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.vsearch{flex:1 1;min-width:200px;padding:11px 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:13px;font-family:inherit}.vchips{display:flex;gap:6px;flex-wrap:wrap}.vitem.done{background:rgba(47,174,102,.08);border-left:4px solid var(--success)}.vcomment{margin-top:8px;font-size:12px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px}button.avatar{border:none;cursor:pointer;font-family:inherit}.desktop-usr{display:flex}.mobile-usr{display:none}.notif,.notif-bell{position:relative}.notif-bell{background:none;border:none;cursor:pointer;font-size:20px;padding:4px;line-height:1}.notif-badge{position:absolute;top:-2px;right:-2px;background:var(--error);color:#fff;font-size:9px;font-weight:800;min-width:15px;height:15px;border-radius:8px;display:grid;place-items:center;padding:0 3px}.notif-panel,.um-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:300px;max-width:calc(100vw - 24px);background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.3);overflow:hidden}.um-backdrop{position:fixed;inset:0;z-index:55}.um-head{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.um-head b{font-family:Nunito,sans-serif}.um-item{display:block;padding:12px 14px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:600;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-family:inherit}.um-item:hover{background:rgba(127,127,127,.08)}.um-signout{color:var(--error)}.um-row,.um-signout{border-top:1px solid var(--line)}.um-row{padding:10px 14px;display:flex;justify-content:center}.notif-empty{padding:26px 14px;text-align:center;color:var(--muted);font-size:13px}.notif-item{display:flex;gap:10px;padding:11px 14px;border-top:1px solid var(--line)}.notif-item:first-of-type{border-top:none}.ni-ico{font-size:17px}.ni-text{font-size:13px;color:var(--ink);font-weight:600}.ni-time{font-size:11px;margin-top:2px}.nav-arrow,.nav-sheet{display:none}@media (max-width:820px){.desktop-usr{display:none}.mobile-usr{display:flex;align-items:center}.notif-panel,.um-panel{width:calc(100vw - 24px)}.morebtn{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1 1;color:var(--side-ink);background:none;border:none;cursor:pointer;font-family:Nunito,sans-serif;font-size:10px;font-weight:700;padding:6px 4px;border-radius:12px}.morebtn .ico{font-size:21px;line-height:1}.morebtn.active{color:var(--navy);background:var(--yellow)}.nav-arrow{display:grid;place-items:center;position:fixed;left:50%;transform:translateX(-50%);bottom:calc(70px + env(safe-area-inset-bottom));z-index:41;width:40px;height:26px;border:none;border-radius:13px;background:rgba(51,63,72,.35);color:#fff;font-size:14px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.nav-arrow.show{opacity:.85;pointer-events:auto}.nav-sheet{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;position:fixed;left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:56;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 -6px 30px rgba(0,0,0,.25);padding:14px}.nav-sheet a{display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:var(--ink);font-size:11px;font-weight:700;font-family:Nunito,sans-serif;padding:12px 6px;border-radius:12px;text-align:center}.nav-sheet a .ico{font-size:22px}.nav-sheet a.active{background:var(--yellow);color:var(--navy)}}.tabs{display:flex;gap:6px;margin:18px 0 14px;border-bottom:2px solid var(--line);flex-wrap:wrap}.tab{padding:10px 16px;text-decoration:none;color:var(--muted);font-family:Nunito,sans-serif;font-weight:800;font-size:14px;border-bottom:3px solid transparent;margin-bottom:-2px}.tab.on,.tab:hover{color:var(--ink)}.tab.on{border-bottom-color:var(--yellow)}