:root{--navy-900:#470073;--navy-800:#470073;--navy-700:#6a0dad;--navy-100:#efe4f8;--navy-50:#f7f2fb;--brand:#470073;--brand-2:#6a0dad;--brand-3:#5a1690;--brand-line:#7d3bb8;--bg:#f6f4f9;--surface:#fff;--line:#e6e0ee;--text:#1e1530;--muted:#625a73;--ok:#1f7a4d;--ok-bg:#e6f4ec;--warn:#9a5b00;--warn-bg:#fff4e0;--bad:#b42318;--bad-bg:#fdecea;--radius:12px;--shadow:0 1px 2px #0b1b3a0f, 0 2px 8px #0b1b3a0a;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--navy-700)}h1{color:var(--text);margin:0 0 12px;font-size:1.4rem}h2{margin:20px 0 10px;font-size:1.1rem}h3{margin:0 0 6px;font-size:1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.right{text-align:right}.nowrap{white-space:nowrap}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline-offset:2px;outline:3px solid #b48be0}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:20;background:var(--brand);color:#fff;padding:10px 16px 12px;padding-top:max(10px, env(safe-area-inset-top));position:sticky;top:0;box-shadow:0 2px 10px #28004640}.env-pill{color:#6b4a00;letter-spacing:.04em;white-space:nowrap;background:#ffe9a8;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:800}.topbar-row{align-items:center;gap:8px;max-width:1100px;margin:0 auto;display:flex}.brand{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.brand img{width:auto;height:30px;display:block}.brand .sub{letter-spacing:.14em;color:#fff;align-items:center;gap:6px;padding-left:2px;font-size:.68rem;font-weight:700;display:flex}.topbar .grid-h{gap:8px;max-width:1100px;margin:0 auto;display:grid}@media (width<=719px){.topbar .grid-h .brand{align-items:center}.topbar .grid-h .brand img{height:32px}}@media (width>=720px){.topbar .grid-h{grid-template-columns:auto 1fr;align-items:center}.topbar .ctx-unit{justify-self:end;width:min(420px,100%)}.topbar .ctx-month{grid-column:1/-1}}.ctx{align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex}.ctx select,.ctx button{background:var(--brand-3);color:#fff;border:1px solid var(--brand-line);height:40px;font:inherit;border-radius:10px;padding:0 10px;font-size:.9rem}.topbar .ctx-unit{width:100%;margin-left:0}.topbar .ctx-unit select{width:100%;max-width:none}.ctx select{text-overflow:ellipsis;max-width:46vw}.month{align-items:center;gap:2px;display:flex}.month button{width:40px;padding:0;font-size:1.1rem}.month .label{text-align:center;min-width:72px;font-size:.85rem;font-weight:600}.status-dot{background:#3ccf85;border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 2px #ffffff40}.status-dot.off{background:#f04438}.status-dot.busy{background:#fdb022}main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:16px 16px 96px}.bottomnav{z-index:20;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottomnav a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:8px 2px;font-size:.72rem;text-decoration:none;display:flex;position:relative}.bottomnav a.active{color:var(--brand);font-weight:700}.bottomnav svg{width:22px;height:22px}.bottomnav .ico{border-radius:10px;place-items:center;width:38px;height:32px;display:grid}.bottomnav a.active .ico{background:var(--brand);color:#fff}.badge{background:var(--bad);color:#fff;text-align:center;border-radius:9px;min-width:16px;padding:0 5px;font-size:.65rem;line-height:16px;position:absolute;top:4px;left:52%}@media (width>=900px){.bottomnav{border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;max-width:640px;left:50%;transform:translate(-50%)}}.offline-bar{background:var(--bad);color:#fff;text-align:center;padding:6px;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;padding:16px}.grid{gap:12px;display:grid}.grid.k{grid-template-columns:repeat(2,1fr)}@media (width>=720px){.grid.k{grid-template-columns:repeat(4,1fr)}.grid.two{grid-template-columns:1fr 1fr}}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.kpi .v{margin-top:2px;font-size:1.3rem;font-weight:800}.kpi .l{color:var(--muted);font-size:.82rem}.kpi svg{width:26px;height:26px;margin-bottom:6px}.kpi.t-purple{background:#f3eafb;border-color:#e6d6f5}.kpi.t-purple svg{color:var(--brand-2)}.kpi.t-yellow{background:#fff7e0;border-color:#f8e7b6}.kpi.t-yellow svg{color:#b07800}.kpi.t-green{background:#e9f6ee;border-color:#cbe9d6}.kpi.t-green svg{color:var(--ok)}.kpi.t-red{background:#fdeeee;border-color:#f7d4d1}.kpi.t-red svg,.kpi.t-red .l,.kpi.bad .v{color:var(--bad)}.kpi.warn .v{color:var(--warn)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.list{margin:0;padding:0;list-style:none}.item{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:10px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;text-decoration:none;display:flex}.item .main{flex:1;min-width:0}.item .title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.item .amount{white-space:nowrap;font-weight:700}.pill{background:var(--navy-100);color:var(--navy-800);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.74rem;font-weight:600;display:inline-block}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.gray{color:#57617a;background:#eef0f4}.btn{appearance:none;border:1px solid var(--brand);background:var(--brand);color:#fff;min-height:46px;font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn.secondary{background:var(--surface);color:var(--brand)}.btn:not(:disabled):hover{filter:brightness(1.12)}.btn.danger{background:var(--bad);border-color:var(--bad)}.btn.ghost{color:var(--navy-700);background:0 0;border-color:#0000}.btn.small{min-height:36px;padding:0 12px;font-size:.85rem}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.fab{right:16px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:15;border-radius:28px;position:fixed;box-shadow:0 6px 18px #0b1b3a40}form .field,.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}label{color:#2a3854;font-size:.85rem;font-weight:600}input,select,textarea{font:inherit;min-height:46px;color:var(--text);background:#fff;border:1px solid #c8cfdc;border-radius:10px;width:100%;padding:10px 12px;font-size:16px}textarea{min-height:80px}input[type=checkbox]{width:20px;height:20px;min-height:0}.check{align-items:center;gap:8px;font-weight:500;display:flex}.err{color:var(--bad);font-size:.82rem}.hint{color:var(--muted);font-size:.8rem}.alert{border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:.9rem}.alert.bad{background:var(--bad-bg);color:var(--bad)}.alert.ok{background:var(--ok-bg);color:var(--ok)}.alert.warn{background:var(--warn-bg);color:var(--warn)}.alert.info{background:var(--navy-50);color:var(--navy-800)}.pw{position:relative}.pw input{padding-right:84px}.pw button{background:var(--navy-50);height:34px;font:inherit;color:var(--brand);cursor:pointer;border:0;border-radius:8px;padding:0 10px;font-size:.8rem;font-weight:600;position:absolute;top:6px;right:6px}.empty svg{width:52px;height:52px;color:var(--brand-2);margin:0 auto 10px;display:block}.empty{text-align:center;color:var(--muted);border-radius:var(--radius);background:#fbfcfe;border:1px dashed #cdd4e1;padding:36px 16px}.empty b{color:var(--text);margin-bottom:4px;display:block}.tabs{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:4px;margin-bottom:12px;padding:4px;display:flex;overflow-x:auto}.tabs button{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:10px;flex:none;padding:9px 14px;font-size:.88rem;font-weight:600}.tabs button[aria-pressed=true]{background:var(--brand);color:#fff}.modal-bg{z-index:50;background:#1e003280;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;overflow:auto}.modal.wide{flex-direction:column;max-width:980px;height:92dvh;display:flex}@media (width>=720px){.modal-bg{align-items:center}.modal{border-radius:16px}}.viewer{border:1px solid var(--line);background:#f2f4f8;border-radius:8px;flex:1;width:100%;min-height:60dvh}.viewer img{max-width:100%;margin:0 auto;display:block}.toast{left:50%;bottom:calc(86px + env(safe-area-inset-bottom));color:#fff;z-index:60;background:#2b0047;border-radius:10px;max-width:92vw;padding:10px 16px;font-size:.9rem;position:fixed;transform:translate(-50%);box-shadow:0 6px 18px #0003}.toast.bad{background:var(--bad)}table.t{border-collapse:collapse;background:var(--surface);width:100%;font-size:.85rem}table.t th,table.t td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px}table.t th{background:var(--navy-50);font-weight:600;position:sticky;top:0}.scroll-x{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.kv{grid-template-columns:130px 1fr;gap:6px 10px;font-size:.9rem;display:grid}.kv dt{color:var(--muted)}.kv dd{word-break:break-word;margin:0}.copy{align-items:center;gap:6px;display:flex}.copy code{background:var(--navy-50);word-break:break-all;border-radius:8px;flex:1;padding:8px;font-size:.8rem}.auth{background:radial-gradient(120% 80% at 50% 0%, #5c0f94 0%, var(--brand) 55%, #3a005f 100%);place-items:center;min-height:100dvh;padding:24px 16px;display:grid;position:relative;overflow:hidden}.auth:after{content:"";opacity:.07;pointer-events:none;background:url(/brand/logo-dmais-branca.png) 0/auto 100% no-repeat;width:340px;height:140px;position:absolute;bottom:-40px;right:-60px;transform:rotate(-12deg)}.auth .card{z-index:1;border:0;border-radius:18px;width:100%;max-width:400px;padding:26px 22px;position:relative;box-shadow:0 18px 40px #14002859}.auth .card h1{text-align:center;font-size:1.3rem}.auth .logo{color:#fff;text-align:center;z-index:1;margin-bottom:22px;position:relative}.auth .logo img{width:min(240px,70vw);height:auto;margin:0 auto;display:block}.auth .logo .sub{letter-spacing:.22em;margin-top:10px;font-size:1rem;font-weight:700;display:block}.auth .linkc{text-align:center}.auth .linkc a{color:var(--brand-2);font-weight:700;text-decoration:none}.inp-ico{position:relative}.inp-ico svg{width:18px;height:18px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.inp-ico input{padding-left:40px}.menu a{border-bottom:1px solid var(--line);color:var(--text);justify-content:space-between;padding:14px 12px;font-weight:500;text-decoration:none;display:flex}.menu a:last-child{border-bottom:0}.group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 0 8px;font-size:.8rem}
