:root{color:#2b2d33;font-synthesis:none;background:#f7f7f9;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{background:#f7f7f9;margin:0}button,input{font:inherit}.app{min-height:100vh}.topbar{color:#fff;z-index:50;background:linear-gradient(90deg,#6b2f70,#71447c);align-items:center;gap:10px;height:52px;padding:0 14px;display:flex;position:sticky;top:0;box-shadow:0 1px 5px #0000002e}.launcher,.top-icon{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:6px;min-width:40px;height:40px}.launcher{font-size:25px;line-height:1}.launcher:hover,.top-icon:hover{background:#ffffff1f}.brand{cursor:pointer;letter-spacing:.1px;font-size:17px}.brand strong{font-weight:700}.top-spacer{flex:1}.top-icon{font-size:16px;position:relative}.badge{color:#fff;background:#e25a5a;border-radius:10px;padding:1px 5px;font-size:10px;position:absolute;top:2px;right:4px}.company{opacity:.92;margin-left:3px;font-size:13px}.avatar{color:#704078;background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;margin-left:6px;font-size:11px;font-weight:800;display:grid}.username{padding-right:3px;font-size:13px}.home-shell{max-width:1320px;margin:0 auto;padding:34px 46px 24px}.home-hero{justify-content:space-between;align-items:flex-end;gap:26px;margin-bottom:31px;display:flex}.home-hero h1{color:#3d3d45;margin:0 0 6px;font-size:30px;font-weight:500}.home-hero p{color:#777783;margin:0}.searchbox{background:#fff;border:1px solid #dddde5;border-radius:7px;align-items:center;width:min(430px,44vw);height:42px;padding:0 12px;display:flex;box-shadow:0 1px 2px #00000008}.searchbox span{color:#888;margin-right:8px;font-size:23px}.searchbox input{color:#444;background:0 0;border:0;outline:0;width:100%;font-size:14px}.app-grid{grid-template-columns:repeat(6,minmax(130px,1fr));gap:30px 26px;padding:8px 2px 28px;display:grid}.app-tile{cursor:pointer;text-align:center;color:#2f3036;background:0 0;border:0;border-radius:13px;padding:5px 6px 12px;transition:all .16s}.app-tile:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #38283c12}.app-icon{color:#fff;text-shadow:0 1px 2px #00000014;border-radius:17px;place-items:center;width:76px;height:76px;margin:0 auto 11px;font-size:34px;font-weight:600;display:grid;box-shadow:0 5px 13px #00000021}.app-icon.violet{background:linear-gradient(145deg,#83609a,#63366f)}.app-icon.blue{background:linear-gradient(145deg,#568fd0,#376eb4)}.app-icon.teal{background:linear-gradient(145deg,#4eafa8,#298d89)}.app-icon.orange{background:linear-gradient(145deg,#eaa058,#d47a31)}.app-icon.green{background:linear-gradient(145deg,#77b76a,#4a9650)}.app-icon.cyan{background:linear-gradient(145deg,#59b7c5,#348d9c)}.app-icon.red{background:linear-gradient(145deg,#dd6c69,#bc454a)}.app-icon.yellow{background:linear-gradient(145deg,#e2b849,#c99228)}.app-icon.sky{background:linear-gradient(145deg,#61aadd,#4283bb)}.app-icon.indigo{background:linear-gradient(145deg,#7474cc,#5458a8)}.app-icon.pink{background:linear-gradient(145deg,#d16c9a,#b44e78)}.app-icon.purple{background:linear-gradient(145deg,#9b67bd,#734594)}.app-icon.navy{background:linear-gradient(145deg,#55728e,#3a556e)}.app-icon.slate{background:linear-gradient(145deg,#6f8292,#50616e)}.app-icon.brown{background:linear-gradient(145deg,#9b7560,#7c5948)}.app-icon.gray{background:linear-gradient(145deg,#81848a,#61646a)}.app-name{font-size:14px;font-weight:600;line-height:1.2;display:block}.app-desc{color:#85858f;min-height:29px;margin-top:5px;font-size:11.5px;line-height:1.25;display:block}.home-footer{color:#81818b;text-align:right;border-top:1px solid #e2e2e7;padding:16px 0 5px;font-size:12px}.dot{background:#c96464;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.dot.ok{background:#4aa266}.module-shell{max-width:1360px;margin:0 auto;padding:28px 38px 60px}.module-head{border-bottom:1px solid #dedee5;justify-content:space-between;align-items:flex-end;margin-bottom:24px;padding-bottom:20px;display:flex}.module-head h1{margin:11px 0 5px;font-size:28px;font-weight:500}.module-head p{color:#7d7d87;margin:0}.breadcrumb{color:#7b3d81;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.primary,.secondary{cursor:pointer;border:0;border-radius:6px;padding:10px 16px}.primary{color:#fff;background:#71447c}.secondary{color:#643e6b;background:#eee8ef}.placeholder{text-align:center;background:#fff;border:1px solid #e0e0e6;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:30px;display:flex}.placeholder h2{margin:6px 0;font-weight:500}.placeholder p{color:#7d7d87}.app-icon.big{width:86px;height:86px;font-size:38px}.kpi-grid{grid-template-columns:repeat(6,1fr);gap:14px;display:grid}.kpi{background:#fff;border:1px solid #e3e3e8;border-radius:8px;align-items:center;gap:13px;padding:17px;display:flex}.kpi>span{font-size:22px}.kpi small{color:#85858f;margin-bottom:5px;display:block}.kpi strong{font-size:25px}.dashboard-grid{grid-template-columns:2fr 1fr;gap:18px;margin-top:18px;display:grid}.panel{background:#fff;border:1px solid #e3e3e8;border-radius:8px;min-height:260px;padding:20px}.panel h3{margin:0 0 20px;font-size:16px;font-weight:600}.empty-chart,.empty-list{color:#9a9aa3;background:#fafafa;border:1px dashed #d7d7df;border-radius:7px;place-items:center;height:180px;display:grid}@media (width<=1050px){.app-grid{grid-template-columns:repeat(4,1fr)}.kpi-grid{grid-template-columns:repeat(3,1fr)}.company,.username{display:none}}@media (width<=700px){.home-shell{padding:24px 18px}.home-hero{flex-direction:column;align-items:stretch}.searchbox{width:100%}.app-grid{grid-template-columns:repeat(3,1fr);gap:24px 12px}.app-icon{width:66px;height:66px}.app-desc{display:none}.module-shell{padding:22px 16px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.brand{font-size:15px}}@media (width<=460px){.app-grid{grid-template-columns:repeat(2,1fr)}.top-icon{display:none}}.toolbar{align-items:center;gap:12px;margin-bottom:14px;display:flex}.table-search{background:#fff;border:1px solid #d9d9e1;border-radius:6px;flex:1;max-width:430px;padding:10px 12px}.view-toggle{border:1px solid #dddde4;border-radius:6px;margin-left:auto;display:flex;overflow:hidden}.view-toggle button{cursor:pointer;background:#fff;border:0;padding:9px 12px}.view-toggle button.active{color:#71447c;background:#eee8ef}.table-card{background:#fff;border:1px solid #e2e2e8;border-radius:8px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:840px}th,td{text-align:left;border-bottom:1px solid #eeeef2;padding:13px 14px;font-size:13px}th{color:#696973;background:#fafafd;font-weight:600}td small{color:#999;margin-top:3px;display:block}.status-pill{color:#347448;background:#e7f4ea;border-radius:12px;padding:4px 9px;font-size:11px}.linkbtn{color:#71447c;cursor:pointer;background:0 0;border:0}.empty-row{text-align:center;color:#999;padding:36px}.kanban{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.kanban-card{text-align:center;cursor:pointer;background:#fff;border:1px solid #e3e3e9;border-radius:9px;padding:18px}.kanban-card:hover{box-shadow:0 6px 18px #00000012}.person-avatar{color:#71447c;background:#eee8ef;border-radius:50%;place-items:center;width:52px;height:52px;margin:auto;font-weight:800;display:grid}.kanban-card h3{margin:10px 0 2px;font-size:15px}.kanban-card p,.kanban-card small{color:#999;margin:3px}.kanban-card span{margin-top:8px;display:block}.form-card{background:#fff;border:1px solid #e2e2e8;border-radius:9px;padding:24px}.form-title{border-bottom:1px solid #eee;margin-bottom:20px;padding-bottom:15px}.form-title h2{margin:0 0 4px;font-size:22px;font-weight:500}.form-title span{color:#888;font-size:13px}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px 20px;display:grid}.form-grid label,.inline-form label{color:#666;flex-direction:column;gap:6px;font-size:12px;display:flex}.form-grid input,.form-grid select,.inline-form input,.inline-form select{color:#333;background:#fff;border:1px solid #d9d9e1;border-radius:6px;padding:10px}.form-actions{gap:10px;margin-top:22px;display:flex}.org-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.org-section{background:#fff;border:1px solid #e2e2e8;border-radius:8px;padding:18px}.org-head{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.org-head h3{margin:0;font-size:16px}.org-head span{color:#999;font-size:12px}.inline-form{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.inline-form .primary{align-self:end}.mini-list{border-top:1px solid #f0f0f3}.mini-list>div{border-bottom:1px solid #f4f4f6;justify-content:space-between;padding:10px 2px;font-size:13px;display:flex}.mini-list span{color:#999}@media (width<=900px){.kanban{grid-template-columns:repeat(2,1fr)}.org-grid,.form-grid{grid-template-columns:1fr}}@media (width<=560px){.kanban{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.view-toggle{margin-left:0}.inline-form{grid-template-columns:1fr}}.subtabs{border-bottom:1px solid #dddde5;gap:4px;margin-bottom:18px;display:flex}.subtabs button{cursor:pointer;color:#6f6f78;background:0 0;border:0;border-bottom:3px solid #0000;padding:11px 17px}.subtabs button.active{color:#71447c;border-color:#71447c;font-weight:600}.hint{color:#898994;font-size:13px}.schedule-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.schedule-card{background:#fff;border:1px solid #e2e2e8;border-radius:10px;padding:18px;box-shadow:0 1px 2px #00000005}.schedule-card-head{justify-content:space-between;gap:12px;display:flex}.schedule-card-head strong{font-size:16px;display:block}.schedule-card-head small{color:#999;margin-top:3px;display:block}.schedule-type{color:#71447c;background:#eee8ef;border-radius:12px;height:max-content;padding:4px 9px;font-size:11px}.time-range{color:#494950;justify-content:center;align-items:center;gap:18px;padding:22px 0 16px;font-size:23px;display:flex}.time-range span{color:#aaa}.schedule-meta{color:#777;border-top:1px solid #f0f0f3;justify-content:space-between;gap:8px;padding:9px 0 14px;font-size:12px;display:flex}.day-pills{flex-wrap:wrap;gap:7px;margin:10px 0 5px;display:flex}.day-pills button,.day-pills span{color:#8a8a93;background:#fff;border:1px solid #dddde5;border-radius:17px;place-items:center;width:42px;height:34px;font-size:12px;display:grid}.day-pills button{cursor:pointer}.day-pills .active{color:#fff;background:#71447c;border-color:#71447c}.day-pills.compact{gap:4px}.day-pills.compact span{width:31px;height:26px;font-size:10px}.card-actions{border-top:1px solid #f0f0f3;justify-content:flex-end;gap:10px;margin-top:15px;padding-top:11px;display:flex}.linkbtn.danger{color:#bd5151}.empty-schedule{text-align:center;color:#999;background:#fff;border:1px dashed #d7d7df;border-radius:9px;grid-column:1/-1;padding:50px}.assignment-box{background:#fff;border:1px solid #e2e2e8;border-radius:9px;margin-bottom:16px;padding:18px}.assignment-box h3{margin:0 0 14px;font-size:16px}.assignment-grid{grid-template-columns:2fr 2fr 1.2fr auto;align-items:end;gap:12px;display:grid}.assignment-grid label{color:#666;flex-direction:column;gap:6px;font-size:12px;display:flex}.assignment-grid input,.assignment-grid select{background:#fff;border:1px solid #d9d9e1;border-radius:6px;padding:10px}.days-label{color:#666;margin-top:18px;font-size:12px}@media (width<=1000px){.schedule-grid{grid-template-columns:repeat(2,1fr)}.assignment-grid{grid-template-columns:1fr 1fr}}@media (width<=650px){.schedule-grid,.assignment-grid{grid-template-columns:1fr}.schedule-meta{flex-direction:column}.day-pills button{width:38px}}.clock-panel{background:#fff;border:1px solid #e2e2e8;border-radius:10px;grid-template-columns:1fr 2fr;align-items:end;gap:24px;margin-bottom:18px;padding:20px;display:grid}.clock-panel h3{margin:0 0 6px}.clock-panel p{color:#85858f;margin:0;font-size:13px;line-height:1.5}.clock-form{grid-template-columns:1.3fr 1fr auto;align-items:end;gap:12px;display:grid}.clock-form label,.presence-toolbar label{color:#666;flex-direction:column;gap:6px;font-size:12px;display:flex}.clock-form select,.clock-form input,.presence-toolbar input{background:#fff;border:1px solid #d9d9e1;border-radius:6px;padding:10px}.clock-actions{gap:8px;display:flex}.clock-in,.clock-out{color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:6px;padding:11px 14px;font-weight:600}.clock-in{background:#3d8a5b}.clock-out{background:#b7664f}.clock-in:disabled,.clock-out:disabled{opacity:.6}.event-in,.event-out,.presence-status{border-radius:12px;padding:4px 9px;font-size:11px;display:inline-block}.event-in{color:#327248;background:#e6f4ea}.event-out{color:#9b503c;background:#f8ece7}.anomaly{color:#b05b3e;font-size:12px}.presence-toolbar{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.presence-counts{flex-wrap:wrap;gap:9px;display:flex}.presence-counts span{background:#f0f0f4;border-radius:14px;padding:6px 10px;font-size:12px}.presence-counts .p-ok{color:#327248;background:#e6f4ea}.presence-counts .p-late{color:#9b6b13;background:#fff2da}.presence-counts .p-abs{color:#9e4545;background:#f8e7e7}.st-present{color:#327248;background:#e6f4ea}.st-retard{color:#9b6b13;background:#fff2da}.st-absent{color:#9e4545;background:#f8e7e7}.st-non-planifie{color:#777;background:#eeeef3}@media (width<=980px){.clock-panel{grid-template-columns:1fr}.clock-form{grid-template-columns:1fr 1fr}.clock-actions{grid-column:1/-1}}@media (width<=620px){.clock-form{grid-template-columns:1fr}.clock-actions{flex-direction:column;grid-column:auto}.presence-toolbar{flex-direction:column;align-items:stretch}}.gps-state{color:#71447c;margin-top:10px;font-size:12px;font-weight:600}.geo-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.geo-card{background:#fff;border:1px solid #e2e2e8;border-radius:10px;grid-template-columns:48px 1fr;gap:14px;padding:18px;display:grid}.geo-pin{color:#b24b4b;background:#f8e9e9;border-radius:10px;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.geo-card h3{margin:0 0 5px}.geo-card p{color:#8a8a94;margin:0 0 12px;font-size:13px}.geo-meta{flex-wrap:wrap;gap:8px;display:flex}.geo-meta span{color:#666;background:#f4f4f7;border-radius:12px;padding:5px 8px;font-size:11px}.geo-test{color:#2f7547;background:#e8f5ec;border-radius:6px;margin-top:10px;padding:8px 10px;font-size:12px}.geo-test.bad{color:#a04444;background:#f9e8e8}.check-line{align-items:center;flex-direction:row!important;gap:8px!important}.check-line input{width:auto!important}@media (width<=850px){.geo-grid{grid-template-columns:1fr}}.workflow-pill{border-radius:12px;padding:4px 9px;font-size:11px;display:inline-block}.wf-ok{color:#327248;background:#e6f4ea}.wf-bad{color:#9e4545;background:#f8e7e7}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.linkbtn.approve{color:#327248}.balance-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.balance-card{background:#fff;border:1px solid #e2e2e8;border-radius:10px;padding:18px}.balance-card h3{margin:0 0 14px;font-size:15px}.balance-number{color:#71447c;font-size:30px;font-weight:600}.balance-number small{color:#888;font-size:12px;font-weight:400}.balance-card p{color:#888;font-size:12px}.progress{background:#eeeef2;border-radius:4px;height:7px;margin-top:12px;overflow:hidden}.progress span{background:#71447c;height:100%;display:block}.mission-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.mission-card{background:#fff;border:1px solid #e2e2e8;border-radius:10px;grid-template-columns:48px 1fr;gap:14px;padding:18px;display:grid}.mission-icon{color:#3978a6;background:#e9f3fb;border-radius:10px;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.mission-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.mission-head h3{margin:0 0 6px}.mission-card p{color:#777;margin:6px 0;font-size:13px}.mission-card small{color:#999}@media (width<=900px){.balance-grid{grid-template-columns:repeat(2,1fr)}.mission-grid{grid-template-columns:1fr}}@media (width<=600px){.balance-grid{grid-template-columns:1fr}}.overtime-toolbar{background:#fff;border:1px solid #e2e2e8;border-radius:9px;grid-template-columns:1fr auto auto;align-items:end;gap:16px;margin-bottom:16px;padding:16px;display:grid}.overtime-toolbar label{color:#666;flex-direction:column;gap:6px;font-size:12px;display:flex}.overtime-toolbar input{background:#fff;border:1px solid #d9d9e1;border-radius:6px;padding:10px}.overtime-actions{gap:8px;display:flex}.overtime-summary{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.overtime-summary span{color:#71447c;background:#f2eef4;border-radius:14px;padding:7px 10px;font-size:12px}.overtime-summary strong{margin-left:5px}.secondary:disabled{opacity:.55;cursor:not-allowed}@media (width<=900px){.overtime-toolbar{grid-template-columns:1fr}.overtime-actions,.overtime-summary{justify-content:flex-start}}.form-grid textarea{color:#333;resize:vertical;min-height:88px;font:inherit;background:#fff;border:1px solid #d9d9e1;border-radius:6px;padding:10px}.form-grid .span2{grid-column:1/-1}.recruit-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.recruit-card{background:#fff;border:1px solid #e2e2e8;border-radius:10px;padding:18px}.recruit-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.recruit-top h3{margin:4px 0 0;font-size:17px}.recruit-top small{color:#999}.recruit-card>p{color:#73737d;min-height:38px;font-size:13px}.recruit-meta{flex-wrap:wrap;gap:7px;display:flex}.recruit-meta span{color:#6c5a70;background:#f5f3f6;border-radius:12px;padding:5px 8px;font-size:11px}.cv-link{color:#71447c;font-weight:600;text-decoration:none}.cv-link:hover{text-decoration:underline}.interview-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.interview-card{background:#fff;border:1px solid #e2e2e8;border-radius:10px;grid-template-columns:90px 1fr;gap:16px;padding:18px;display:grid}.interview-date{color:#777;border-right:1px solid #eee;flex-direction:column;justify-content:center;font-size:12px;display:flex}.interview-date strong{color:#71447c;margin-top:6px;font-size:22px;display:block}.interview-card h3{margin:0 0 5px}.interview-card p{color:#777;margin:5px 0;font-size:13px}.interview-card small{color:#999}@media (width<=1000px){.recruit-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.recruit-grid,.interview-grid{grid-template-columns:1fr}.interview-card{grid-template-columns:72px 1fr}}.ai-notice{color:#66566a;background:linear-gradient(135deg,#f4eef7,#fff);border:1px solid #ddcee4;border-radius:10px;align-items:center;gap:14px;margin-bottom:16px;padding:15px 17px;display:flex}.ai-notice strong{color:#71447c;white-space:nowrap}.ai-notice span{font-size:13px;line-height:1.45}.ai-control{background:#fff;border:1px solid #e2e2e8;border-radius:10px;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:14px;margin-bottom:14px;padding:17px;display:grid}.ai-control label{color:#666;flex-direction:column;gap:7px;font-size:12px;display:flex}.ai-control select{background:#fff;border:1px solid #d9d9e1;border-radius:6px;padding:11px}.ai-context{color:#777;background:#f8f8fa;border:1px solid #ededf1;border-radius:8px;flex-wrap:wrap;gap:12px;margin-bottom:14px;padding:11px 14px;font-size:12px;display:flex}.ai-context strong{color:#444}.ai-result{background:#fff;border:1px solid #e2e2e8;border-radius:11px;margin-bottom:18px;padding:20px}.ai-result-head{border-bottom:1px solid #eeeef2;justify-content:space-between;align-items:center;gap:20px;padding-bottom:15px;display:flex}.ai-result-head small{color:#999}.ai-result-head h2{margin:4px 0 0;font-size:20px}.ai-score{box-sizing:border-box;border-radius:50%;justify-content:center;align-items:baseline;width:78px;height:78px;padding-top:21px;display:flex}.ai-score strong{font-size:27px}.ai-score span{font-size:11px}.score-high{color:#327248!important;background:#e6f4ea!important}.score-mid{color:#9b6b13!important;background:#fff2da!important}.score-low{color:#9e4545!important;background:#f8e7e7!important}.score-none{color:#777!important;background:#eeeef3!important}.ai-summary{color:#555;font-size:14px;line-height:1.55}.ai-result-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.ai-result-grid section{background:#fafafd;border:1px solid #eeeef3;border-radius:8px;padding:14px}.ai-result-grid section.span2{grid-column:1/-1}.ai-result-grid h3{color:#71447c;margin:0 0 8px;font-size:13px}.ai-result-grid p{color:#666;white-space:pre-line;margin:0;font-size:13px;line-height:1.55}.ai-ranking{background:#fff;border:1px solid #e2e2e8;border-radius:10px;margin-top:16px;padding:17px}.ai-ranking h3{margin:0 0 12px}.rank-row{border-top:1px solid #f0f0f3;grid-template-columns:34px 1fr 140px 100px;align-items:center;gap:10px;padding:10px 0;font-size:12px;display:grid}.rank-row:first-of-type{border-top:0}.rank-pos{color:#71447c;background:#f1ebf3;border-radius:50%;place-items:center;width:25px;height:25px;font-weight:700;display:grid}.score-mini{text-align:center;border-radius:12px;padding:5px 8px;font-size:11px;font-weight:600;display:inline-block}@media (width<=760px){.ai-notice{flex-direction:column;align-items:flex-start}.ai-control,.ai-result-grid{grid-template-columns:1fr}.ai-result-grid section.span2{grid-column:auto}.rank-row{grid-template-columns:28px 1fr auto}.rank-row>span:nth-child(3){display:none}}.report-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.report-card{background:#fff;border:1px solid #e6e1e8;border-radius:14px;align-items:flex-start;gap:16px;padding:22px;display:flex;box-shadow:0 2px 8px #24142a0d}.report-icon{font-size:32px}.report-card h3{margin:0 0 6px}.report-card p{color:#6b6370;margin:0 0 18px}.download-btn{text-decoration:none;display:inline-block}.report-date{align-items:center;gap:10px;display:flex}.report-date input{border:1px solid #d8d1da;border-radius:8px;padding:9px 10px}.userbox{flex-direction:column;margin-right:4px;line-height:1.05;display:flex}.userbox strong{font-size:12px;font-weight:600}.userbox small{opacity:.72;margin-top:3px;font-size:10px}.logout-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:6px;padding:7px 10px;font-size:11px}.logout-btn:hover{background:#ffffff29}.login-shell{background:radial-gradient(circle at 20% 10%,#f2e9f4,#0000 32%),linear-gradient(145deg,#f8f6f9,#efedf1);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #e2dce5;border-radius:16px;width:min(430px,100%);padding:30px;box-shadow:0 18px 55px #43284721}.login-brand{align-items:center;gap:14px;margin-bottom:26px;display:flex}.login-logo{color:#fff;background:linear-gradient(145deg,#83609a,#63366f);border-radius:13px;place-items:center;width:52px;height:52px;font-size:28px;font-weight:800;display:grid;box-shadow:0 7px 17px #5c32653d}.login-brand h1{color:#3c3440;margin:0 0 4px;font-size:22px;font-weight:500}.login-brand p{color:#8a818d;margin:0;font-size:12px}.login-card form{gap:15px;display:grid}.login-card label{color:#666;flex-direction:column;gap:7px;font-size:12px;display:flex}.login-card input{background:#fff;border:1px solid #d8d0db;border-radius:8px;outline:none;padding:12px 13px}.login-card input:focus{border-color:#87578e;box-shadow:0 0 0 3px #71447c17}.login-submit{margin-top:4px;padding:12px}.login-error{color:#9c4545;background:#faeaea;border:1px solid #f0cccc;border-radius:7px;padding:10px 12px;font-size:12px}.login-help{color:#8b828e;border-top:1px solid #eee9ef;margin-top:20px;padding-top:15px;font-size:11px;line-height:1.6}.checkline{align-items:center;flex-direction:row!important;gap:9px!important}.checkline input{width:auto!important}.btn-as-link{cursor:pointer;background:0 0;border:0;padding:0}@media (width<=800px){.userbox{display:none}.logout-btn{padding:7px}.login-card{padding:23px}}.table-card td small{color:#77808a;margin-top:3px;display:block}.wf-wait{color:#8a6500;background:#fff3cd}.wf-refuse{color:#9d2f2f;background:#fde2e2}.wf-valide{color:#17653a;background:#dcf5e6}.alert-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.alert-summary>div{background:#fff;border:1px solid #e4e1e6;border-radius:10px;justify-content:space-between;align-items:center;padding:16px;display:flex}.alert-summary span{color:#777;font-size:12px}.alert-summary strong{color:#71447c;font-size:26px}.alert-list{gap:12px;display:grid}.alert-card{background:#fff;border:1px solid #e2e2e8;border-left:5px solid #aaa;border-radius:9px;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;padding:16px;display:grid}.alert-card.sev-critique,.dash-alert.sev-critique{border-left-color:#c74747}.alert-card.sev-attention,.dash-alert.sev-attention{border-left-color:#d4932f}.alert-card.sev-information,.dash-alert.sev-information{border-left-color:#4d82b8}.alert-icon{color:#71447c;background:#f5f2f6;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.alert-head{justify-content:space-between;gap:12px;display:flex}.alert-head h3{margin:2px 0 0;font-size:15px}.alert-head small{color:#999}.alert-head>span{background:#f4f1f5;border-radius:12px;height:max-content;padding:4px 8px;font-size:11px}.alert-body p{color:#666;margin:7px 0;font-size:13px}.alert-body>small{color:#aaa}.dashboard-alerts{gap:9px;display:grid}.dash-alert{background:#faf9fb;border-left:4px solid #aaa;border-radius:6px;padding:10px 12px}.dash-alert strong{margin-bottom:3px;font-size:12px;display:block}.dash-alert small{color:#777;line-height:1.35;display:block}.dashboard-presence{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.dashboard-presence span{color:#777;background:#faf9fb;border:1px solid #eeeaf0;border-radius:8px;padding:16px;font-size:12px}.dashboard-presence strong{color:#71447c;margin-bottom:4px;font-size:25px;display:block}@media (width<=760px){.alert-summary{grid-template-columns:1fr}.alert-card{grid-template-columns:36px 1fr}.alert-card>.secondary{grid-column:1/-1}.dashboard-presence{grid-template-columns:1fr}}.notification-prefs{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.notification-prefs label{align-items:center;gap:8px;font-size:14px;display:flex}.notification-prefs input{width:auto}.error-text{color:#b42318;margin-top:6px;display:block}.app-icon.blue{color:#2869c7;background:#e8f1ff}.net-pill{background:#ffffff1f;border-radius:13px;align-items:center;gap:7px;margin-right:10px;padding:6px 9px;font-size:10px;display:flex}.net-pill.online{color:#dff7e6}.net-pill.offline{color:#ffe2c2}.net-pill b{color:#71447c;background:#fff;border-radius:10px;padding:2px 6px;font-size:9px}.offline-notice{color:#805d1d;background:#fff4df;border:1px solid #efd39a;border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:9px 11px;font-size:12px;display:flex}.mobile-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px;display:grid}.mobile-card{background:#fff;border:1px solid #e4e0e6;border-radius:12px;align-items:flex-start;gap:15px;padding:20px;display:flex}.mobile-icon{background:#f0e9f2;border-radius:12px;place-items:center;width:44px;height:44px;font-size:23px;display:grid}.mobile-card small{color:#999}.mobile-card h3{margin:4px 0 7px;font-size:18px}.mobile-card p{color:#777;margin:0;font-size:12px;line-height:1.5}@media (width<=900px){.mobile-grid{grid-template-columns:1fr}.company{display:none}.net-pill{margin-right:4px}}@media (width<=600px){.topbar{padding-left:8px;padding-right:8px}.brand{font-size:14px}.net-pill{max-width:150px}.net-pill b{display:none}}.analytics-toolbar{background:#fff;border:1px solid #e4e0e6;border-radius:10px;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.analytics-toolbar>div{flex-direction:column;gap:3px;margin-right:auto;display:flex}.analytics-toolbar span{color:#8c8790;font-size:11px}.analytics-toolbar select{background:#fff;border:1px solid #d9d2db;border-radius:7px;padding:9px 11px}.analytics-kpis{grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px;display:grid}.analytics-kpis>div{background:#fff;border:1px solid #e4e0e6;border-radius:10px;padding:15px}.analytics-kpis span,.analytics-kpis small{color:#8b8790;font-size:11px;display:block}.analytics-kpis strong{color:#5f3968;margin:6px 0 3px;font-size:24px;display:block}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.analytics-panel{background:#fff;border:1px solid #e4e0e6;border-radius:11px;min-height:230px;padding:18px}.analytics-panel.span2{grid-column:1/-1}.analytics-title{border-bottom:1px solid #f0edf1;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;padding-bottom:11px;display:flex}.analytics-title h3{margin:0;font-size:15px}.analytics-title span{color:#999;font-size:11px}.trend-chart{border-bottom:1px solid #ddd;align-items:flex-end;gap:8px;height:190px;padding:12px 4px 0;display:flex}.trend-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;min-width:16px;height:100%;display:flex}.bars{justify-content:center;align-items:flex-end;gap:2px;width:100%;height:150px;display:flex}.bars i{border-radius:4px 4px 0 0;width:42%;min-width:4px;display:block}.bar-present{background:#6e4a78}.bar-late{background:#df9a3c}.trend-col small{color:#999;transform-origin:50%;white-space:nowrap;font-size:9px;transform:rotate(-45deg)}.legend{color:#777;gap:16px;margin-top:14px;font-size:11px;display:flex}.legend i{border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.dot-present{background:#6e4a78}.dot-late{background:#df9a3c}.metric-stack{gap:10px;display:grid}.metric-stack>div{background:#faf9fb;border:1px solid #efebf0;border-radius:8px;justify-content:space-between;align-items:center;padding:13px;display:flex}.metric-stack span{color:#777;font-size:12px}.metric-stack strong{color:#71447c;font-size:21px}.big-number{color:#71447c;margin-top:22px;font-size:58px;font-weight:700;line-height:1.1}.panel-note{color:#8b8790;font-size:12px;line-height:1.5}.analytics-list{gap:8px;display:grid}.analytics-list>div{border-bottom:1px solid #f1eef2;justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.analytics-list strong{font-size:12px;display:block}.analytics-list small{color:#999;margin-top:3px;display:block}.analytics-list>div>span{color:#777;text-align:right;font-size:11px}.empty-mini{color:#999;font-size:12px}@media (width<=1100px){.analytics-kpis{grid-template-columns:repeat(3,1fr)}}@media (width<=760px){.analytics-toolbar{flex-wrap:wrap}.analytics-kpis{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr}.analytics-panel.span2{grid-column:auto}.trend-chart{overflow-x:auto}.trend-col{min-width:28px}.analytics-list>div{flex-direction:column;align-items:flex-start}.analytics-list>div>span{text-align:left}}.performance-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}.performance-summary>div{background:#fff;border:1px solid #e4e0e6;border-radius:10px;padding:16px}.performance-summary span{color:#888;font-size:11px;display:block}.performance-summary strong{color:#71447c;margin-top:6px;font-size:25px;display:block}.human-decision-note{color:#5e4b63;background:#f4f0f6;border:1px solid #ddd0e1;border-radius:9px;margin-bottom:15px;padding:12px 14px;font-size:12px;line-height:1.45}.performance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.performance-card{background:#fff;border:1px solid #e4e0e6;border-radius:10px;padding:17px}.performance-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.performance-head small{color:#999}.performance-head h3{margin:5px 0 0;font-size:16px}.performance-card p{color:#6f6972;font-size:12px;line-height:1.5}.performance-progress{height:8px;margin:15px 0 7px}.performance-meta{color:#8c8790;justify-content:space-between;margin-bottom:12px;font-size:11px;display:flex}@media (width<=950px){.performance-summary,.performance-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.performance-summary,.performance-grid{grid-template-columns:1fr}}.portal-hero{background:linear-gradient(135deg,#f0fdfa,#eef2ff);border:1px solid #dbeafe;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:24px;display:flex}.portal-hero h2{margin:3px 0 4px;font-size:28px}.portal-hero p,.portal-hero small{color:#64748b;margin:0}.portal-actions{flex-wrap:wrap;gap:10px;display:flex}.portal-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.portal-kpis>div{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.portal-kpis span{color:#64748b;font-size:12px;display:block}.portal-kpis strong{color:#0f172a;margin-top:5px;font-size:20px;display:block}.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.portal-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px}.portal-card h3{margin:0 0 12px}.portal-row{border-top:1px solid #f1f5f9;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 0;display:grid}.portal-row:first-of-type{border-top:0}.portal-row span{color:#334155;font-weight:600}.portal-row strong{color:#0f766e}.portal-row small{color:#64748b;grid-column:1/-1}.muted{color:#94a3b8}.btn-as-link{font:inherit}@media (width<=900px){.portal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-grid{grid-template-columns:1fr}.portal-hero{flex-direction:column;align-items:flex-start}}.preview-overlay{z-index:5000;background:#0f172ab8;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.preview-modal{background:#fff;border-radius:16px;flex-direction:column;width:min(1100px,96vw);height:min(820px,92vh);display:flex;overflow:hidden;box-shadow:0 30px 80px #00000059}.preview-head{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:18px;padding:15px 18px;display:flex}.preview-head small{color:#0f766e;font-weight:700}.preview-head h3{margin:3px 0 0;font-size:17px}.preview-body{background:#eef2f7;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.preview-frame{background:#fff;border:0;width:100%;height:100%}.preview-image{object-fit:contain;box-sizing:border-box;max-width:100%;max-height:100%;padding:16px}.preview-text{box-sizing:border-box;white-space:pre-wrap;color:#334155;background:#fff;width:100%;height:100%;margin:0;padding:24px;font-family:inherit;line-height:1.55;overflow:auto}.preview-foot{color:#92400e;background:#fffbeb;border-top:1px solid #fde68a;padding:10px 18px;font-size:11px}@media (width<=700px){.preview-overlay{padding:0}.preview-modal{border-radius:0;width:100vw;max-width:none;height:100vh;max-height:none}.preview-head{padding:12px}.preview-foot{font-size:10px}}
