:root{--navy:#071a2f;--navy-2:#0f2f57;--ink:#101827;--muted:#667085;--line:#dde3ec;--surface:#fff;--soft:#f4f7fb;--blue:#1d4ed8;--green:#166534;--red:#991b1b;--amber:#92400e}*{box-sizing:border-box}body{background:var(--soft);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{color:var(--navy);cursor:pointer;background:#eef3f8;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 13px;font-weight:750;display:inline-flex}button:hover{background:#dfe8f2}.primary{background:var(--navy-2);color:#fff}.primary:hover{background:#0a2444}.dangerBtn{color:var(--red);background:#f7e7e7}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 11px}textarea{resize:vertical;min-height:92px}h1,h2,h3,p{margin-top:0}.eyebrow{color:#6b7c93;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:11px;font-weight:850}.muted{color:var(--muted)}.login{background:#fff;grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.loginVisual{background:url(/images/bgfi-building.png) 50%/cover no-repeat;min-height:100vh;position:relative}.loginOverlay{background:linear-gradient(135deg,#030e1df0,#0a2b51c7,#041224e0);position:absolute;inset:0}.loginVisual article{z-index:1;color:#fff;flex-direction:column;justify-content:flex-end;height:100%;padding:72px;display:flex;position:relative}.loginVisual img{filter:drop-shadow(0 14px 24px #00000040);width:170px}.loginVisual h1{margin:18px 0 14px;font-size:48px;line-height:1.02}.loginLead{color:#d7e3f2;max-width:600px;font-size:18px}.loginPanel{place-items:center;padding:28px;display:grid}.loginPanel form{border:1px solid var(--line);background:#ffffffdb;border-radius:8px;width:min(420px,92vw);padding:32px;box-shadow:0 24px 70px #0f2f571f}.loginPanel h2{font-size:32px}.field,label{color:#344054;flex-direction:column;gap:7px;font-size:13px;font-weight:760;display:flex}.error{color:var(--red);margin:8px 0;display:block}.appShell{grid-template-columns:282px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#dbe7f5;flex-direction:column;gap:20px;padding:22px;display:flex}.brandMini{align-items:center;gap:12px;font-weight:850;display:flex}.brandMini img{background:#fff;border-radius:6px;width:104px;padding:7px}.sidebar nav{gap:6px;display:grid}.sidebar button{color:#dbe7f5;background:0 0;justify-content:flex-start}.sidebar button.active,.sidebar button:hover{color:#fff;background:#ffffff1a}.sidebar button em{color:#0f2f57;background:#dbeafe;border-radius:999px;margin-left:auto;padding:2px 7px;font-size:11px;font-style:normal}.sidebar footer{border-top:1px solid #ffffff24;gap:6px;margin-top:auto;padding-top:16px;display:grid}.sidebar footer small{color:#9fb3c8}.workspace{min-width:0;padding:24px}.topbar{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;height:76px;margin-bottom:18px;padding:14px 18px;display:flex}.topbar h1{margin:0;font-size:22px}.topActions{align-items:center;gap:16px;display:flex}.topActions span{background:#f1f5f9;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-weight:800;display:inline-flex}.topActions button{border-radius:999px}.page{gap:16px;display:grid}.pageTitle{justify-content:space-between;align-items:center;gap:16px;display:flex}.pageTitle h2{margin:0;font-size:30px}.kpis{grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;display:grid}.kpis article{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:17px;display:grid;box-shadow:0 10px 26px #1018270a}.kpis svg{color:var(--blue)}.kpis span{color:var(--muted);font-size:13px}.kpis b{font-size:28px}.twoCols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:8px;padding:18px;box-shadow:0 10px 28px #10182709}.panel h3{margin-bottom:16px;font-size:17px}.metric{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;margin:0;padding:9px 0;display:flex}.metric span{color:var(--muted)}.metric b{font-size:16px}.listItem,.activity{border-bottom:1px solid #edf1f6;gap:4px;padding:10px 0;display:grid}.listItem span,.activity span{color:#475467}.activity small{color:#8a98aa}.executive{color:#fff;background:linear-gradient(135deg,#071a2f,#0f2f57);border:1px solid #ffffff1f;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.executive h3{margin-bottom:8px;font-size:22px}.executive p{color:#dbe7f5;margin:0}.executive>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.executive .eyebrow{color:#b9cce3}.filters{grid-template-columns:minmax(260px,1fr) 180px 170px auto;align-items:center;gap:10px;display:grid}.filters.mini{grid-template-columns:180px 180px auto;max-width:560px}.searchBox{margin:0;position:relative}.searchBox svg{color:#7b8794;position:absolute;top:12px;left:11px}.searchBox input{padding-left:36px}.tableWrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:auto}.tableWrap.small{max-height:470px}table{border-collapse:collapse;width:100%;min-width:980px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #edf1f6;padding:12px;font-size:13px}th{color:#475467;text-transform:uppercase;background:#f7f9fc;font-size:12px}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fbff}.badge{color:#344054;white-space:nowrap;background:#eef2f7;border-radius:999px;align-items:center;min-height:24px;padding:3px 9px;font-size:12px;font-weight:850;display:inline-flex}.badge.success{color:var(--green);background:#e8f5ee}.badge.danger{color:var(--red);background:#f8e7e7}.badge.warning{color:var(--amber);background:#fff3d7}.bulkBar{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.bulkBar select{width:auto;min-width:180px}.checkLine{flex-direction:row;align-items:center;gap:8px;margin:0}.checkLine input{width:auto}.savedFilters{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:220px minmax(180px,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.modal{z-index:30;background:#04101e9e;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:#f8fafc;width:min(1120px,96vw);height:100vh;padding:24px;position:relative;overflow:auto;box-shadow:-28px 0 70px #0003}.close{position:absolute;top:16px;right:18px}.drawerHead{justify-content:space-between;align-items:flex-start;gap:40px;padding-right:52px;display:flex}.drawerHead h2{font-size:25px}.tabs{gap:8px;margin:14px 0 18px;display:flex;overflow:auto}.tabs button,.adminTabs button{border:1px solid var(--line);text-transform:capitalize;background:#fff}.tabs button.active,.adminTabs button.active{background:var(--navy-2);color:#fff;border-color:var(--navy-2)}.formGrid{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;display:grid}.formGrid.compact{border:0;padding:0}.checks{align-content:end;gap:8px;display:grid}.checks label{flex-direction:row;align-items:center}.checks input{width:auto}.formActions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.drop{text-align:center;min-height:150px;color:var(--navy-2);background:#f8fbff;border:1px dashed #9db0c7;border-radius:8px;place-items:center;display:grid}.drop input{display:none}.fileLine{color:var(--navy-2);border-bottom:1px solid #edf1f6;align-items:center;gap:9px;padding:10px 0;text-decoration:none;display:flex}.fileLine small{color:var(--muted);margin-left:auto}.commentBox{gap:10px;margin-bottom:12px;display:grid}.adminTabs{flex-wrap:wrap;gap:8px;display:flex}.empty{min-height:150px;color:var(--muted);place-items:center;gap:8px;display:grid}.skeleton{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.skeleton span{background:linear-gradient(90deg,#eef2f7,#fff,#eef2f7) 0 0/220% 100%;border-radius:8px;height:150px;animation:1.1s infinite pulse}@keyframes pulse{to{background-position:-220% 0}}@media (width<=1050px){.appShell{grid-template-columns:1fr}.sidebar{z-index:10;border-radius:0;position:sticky;top:0}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar footer{display:none}.kpis,.twoCols,.filters,.filters.mini,.formGrid,.calendarGrid,.inlineEditor,.savedFilters{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(3,minmax(240px,1fr))}.topbar{align-items:flex-start;height:auto}.login{grid-template-columns:1fr}.loginVisual{min-height:38vh}.loginVisual article{padding:36px}.loginVisual h1{font-size:34px}.workspace{padding:14px}.drawer{width:100vw}.pageTitle{flex-direction:column;align-items:flex-start}}@media (width<=640px){.sidebar nav{grid-template-columns:1fr 1fr}.sidebar button span{font-size:12px}.topActions strong{display:none}.kpis{grid-template-columns:1fr}.row{align-items:stretch}.row>*{flex:1}.drawer{padding:16px}.pageTitle h2{font-size:24px}}.kanban{grid-template-columns:repeat(5,minmax(250px,1fr));gap:14px;padding-bottom:6px;display:grid;overflow:auto}.kanbanCol{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:250px;padding:12px}.kanbanCol h3,.dayBox h3{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;display:flex}.kanbanCol h3 span,.dayBox h3 span{color:var(--navy-2);background:#edf3fb;border-radius:999px;padding:2px 8px;font-size:12px}.kanbanCard{background:#fbfdff;border:1px solid #e8eef6;border-radius:8px;gap:7px;margin-bottom:10px;padding:12px;display:grid}.kanbanCard p{color:#475467;margin:0;font-size:13px}.kanbanCard div{flex-wrap:wrap;gap:6px;display:flex}.kanbanCard small{color:#7b8794}.calendarGrid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;display:grid}.dayBox{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.dayBox p{border-top:1px solid #edf1f6;gap:4px;padding-top:10px;display:grid}.dayBox p span{color:#475467;font-size:13px}.inlineEditor{border:1px solid var(--line);background:#f8fbff;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;padding:14px;display:grid}.inlineEditor h4,.inlineEditor .row{grid-column:1/-1;margin:0}.kpis.quality article:nth-child(4) svg{color:var(--red)}.kpis.quality article:nth-child(5) svg{color:var(--navy-2)}.userCreate{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.userCreate button{grid-column:auto}@media (width<=1050px){.calendarGrid,.inlineEditor{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(3,minmax(240px,1fr))}}@media (width<=640px){.kanban,.userCreate{grid-template-columns:1fr}}.panelHeader{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.panelHeader h3{margin:0 0 4px}.panelHeader p{color:var(--muted);margin:0;font-size:13px}.templateGrid{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:16px;display:grid}.templateList{position:sticky;top:92px}.templateItems{gap:8px;max-height:68vh;padding-right:4px;display:grid;overflow:auto}.templateItem{text-align:left;color:var(--navy);background:#f8fbff;border:1px solid #e2eaf4;border-radius:8px;gap:4px;padding:12px;display:grid}.templateItem:hover,.templateItem.selected{background:#eef5ff;border-color:#9fb9d8}.templateItem span{font-weight:850}.templateItem small{color:#667085}.templateItem em{border-radius:999px;justify-self:start;padding:2px 8px;font-size:11px;font-style:normal;font-weight:850}.templateItem .isOn,.isOn{color:var(--green);background:#e8f5ee}.templateItem .isOff,.isOff{color:#667085;background:#eef2f7}.templateEditorStack{gap:16px;display:grid}.templateEditor{gap:12px;display:grid}.formGrid.two{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.switchLine{color:var(--navy);flex-direction:row;align-items:center;font-weight:850}.switchLine input{width:auto}.modalActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.templateTools{gap:12px;display:grid}.variableCloud{flex-wrap:wrap;gap:8px;display:flex}.variableCloud code{color:#0f2f57;background:#eef3fa;border:1px solid #d8e4f2;border-radius:999px;padding:6px 9px;font-size:12px}.testLine{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;display:grid}.templatePreview .emailFrame{background:#fff;border:1px solid #d9e4f2;border-radius:8px;max-height:620px;overflow:auto}.templatePreview .emailFrame table{min-width:0}.templatePreview .emailFrame td{border-bottom:0}.loginPanel form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar,.panel,.tableWrap{box-shadow:0 14px 34px #1018270d}@media (width<=1050px){.templateGrid{grid-template-columns:1fr}.templateList{position:static}.testLine,.formGrid.two{grid-template-columns:1fr}}
