/* NEXO Desk : application métier autonome — aucun framework ni service tiers. */
:root{
  color-scheme:light;
  --navy:#111e31;--navy-2:#172742;--navy-line:#2a3950;
  --brand:#5665f2;--brand-dark:#414ed6;--brand-pale:#eef0ff;
  --ink:#202d43;--muted:#778397;--muted-dark:#97a4b8;
  --bg:#f5f7fb;--card:#ffffff;--line:#e6eaf1;
  --green:#15856e;--yellow:#c88728;--red:#d45d63;
  --shadow:0 6px 30px rgba(30,47,82,.035);
  --radius:14px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-size:13px;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
a{color:inherit;text-decoration:none}
input,textarea,select{min-width:0}
svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #8d9aff;outline-offset:3px}
[hidden]{display:none!important}
.skip{position:fixed;left:20px;top:-100px;z-index:100;background:#fff;padding:12px;border-radius:8px;color:var(--ink)}
.skip:focus{top:16px}
.demo-ribbon{height:35px;background:#eef0ff;color:#3b4688;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 24px;font-size:10px;letter-spacing:.025em;border-bottom:1px solid #dfe3fe;position:relative;z-index:41}
.demo-ribbon strong{font-weight:800;letter-spacing:.075em}
.demo-ribbon a{position:absolute;right:25px;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.ribbon-dot{height:7px;width:7px;flex-shrink:0;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px #dce1ff}
.app-layout{min-height:calc(100dvh - 35px);display:flex;align-items:stretch}
.sidebar{width:252px;flex:0 0 252px;background:var(--navy);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:calc(100dvh - 35px);align-self:flex-start;z-index:40}
.sidebar-head{height:95px;padding:24px 24px 15px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:35px;height:35px;border-radius:11px;background:#6370fe;display:grid;grid-template-columns:repeat(2,9px);grid-template-rows:repeat(2,9px);align-content:center;justify-content:center;gap:3px;transform:rotate(-10deg)}
.brand-mark>span{display:block;background:white;border-radius:2px}
.brand-mark>span:nth-child(2){opacity:.5}
.brand-mark>span:nth-child(3){opacity:.72}
.brand-name{font-weight:830;letter-spacing:-.055em;font-size:30px;line-height:.85}
.brand-point{color:#9eafff}
.brand-name small{display:block;font-size:8px;font-weight:800;letter-spacing:.25em;line-height:1.5;margin-top:7px;color:#a3b1c9}
.workspace-switch{display:flex;align-items:center;gap:10px;border:1px solid var(--navy-line);margin:10px 16px 28px;padding:11px 12px;border-radius:10px}
.workspace-avatar{display:grid;place-items:center;background:#c8defa;color:#25427a;font-size:11px;font-weight:900;width:34px;height:34px;border-radius:9px}
.workspace-switch>span:nth-child(2){flex:1;min-width:0}
.workspace-switch strong{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-switch small{color:#9eabc2;font-size:9px;margin-top:5px;display:block}
.workspaces-chev{color:#a3b2cd;font-size:20px}
.nav{padding:0 10px}
.nav-label{font-size:9px;color:#71839e;letter-spacing:.14em;font-weight:800;padding:0 16px;margin:0 0 12px}
.nav-item{width:100%;height:44px;background:transparent;color:#aab6cb;border:1px solid transparent;border-radius:9px;display:flex;align-items:center;gap:13px;padding:0 15px;text-align:left;font-weight:610;font-size:12px;margin-bottom:5px;transition:background .15s,color .15s}
.nav-item svg{height:18px;width:18px;flex:0 0 18px}
.nav-item:hover{background:#1d2c46;color:#fff}
.nav-item.active{background:#2c3765;color:#fff}
.nav-item.active svg{color:#b5bcff}
.nav-item span{flex:1}
.nav-item em{font-style:normal;font-size:10px;color:#b1b9cf;background:#26354b;padding:4px 7px;border-radius:6px;min-width:22px;text-align:center}
.nav-item.active em{color:#e9eaff;background:#444e7f}
.sidebar-bottom{margin-top:auto;padding:14px 15px 18px}
.sidebar-help{border:1px solid #34435a;background:#1d2c43;border-radius:11px;padding:19px 17px 17px;margin-bottom:17px}
.help-stars{height:35px;width:35px;border-radius:9px;display:grid;place-items:center;background:#3c497c;color:#b8c0ff;font-size:24px;margin-bottom:12px}
.sidebar-help strong{font-size:13px;display:block}
.sidebar-help p{color:#b1bed0;line-height:1.75;font-size:10px;margin:8px 0 16px}
.help-link{padding:0;background:none;border:0;color:#c1c6ff;font-size:10px;font-weight:800}
.help-link:hover{text-decoration:underline}
.sidebar-user{display:flex;gap:10px;align-items:center;padding:13px 7px 0;border-top:1px solid #32425a}
.user-avatar{width:35px;height:35px;border-radius:50%;background:#ffc8a7;color:#694b35;display:grid;place-items:center;font-weight:800}
.sidebar-user>div:nth-child(2){min-width:0;flex:1}
.sidebar-user strong{font-size:11px;display:block}
.sidebar-user span{color:#8d9fb6;font-size:10px;display:block;margin-top:4px}
.sidebar-user .user-spark{font-size:18px;color:#7c8ea9}
.sidebar-close{display:none}
.workspace{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{height:76px;padding:0 clamp(20px,3.1vw,50px);background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:22px;position:sticky;top:0;z-index:25}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:20px;min-width:0}
.breadcrumb{display:flex;align-items:center;gap:13px;white-space:nowrap;font-size:12px}
.breadcrumb>span:first-child{color:#8a96a6}
.breadcrumb-separator{color:#c3ccd8}
.breadcrumb strong{font-weight:750}
.search{display:flex;align-items:center;gap:9px;height:39px;background:#f6f7fa;border:1px solid #eceff4;border-radius:9px;padding:0 11px;color:#99a3b0;width:clamp(180px,19vw,270px)}
.search svg{height:17px;width:17px;flex:0 0 17px}
.search input{border:0;outline:none!important;background:transparent;width:100%;min-width:0;font-size:11px;color:var(--ink)}
.search input::placeholder{color:#97a1b0}
.search kbd{background:#fff;padding:2px 7px;border:1px solid #e1e5ed;border-radius:4px;color:#9aa4b1;font-size:11px}
.topbar-demo{font-size:10px;font-weight:700;white-space:nowrap;color:#529c79;display:flex;align-items:center;gap:7px}
.topbar-demo span{height:7px;width:7px;border-radius:50%;background:#34aa83}
.top-new{height:39px;display:flex;align-items:center;gap:9px;background:var(--brand);color:white;border:0;border-radius:8px;padding:0 14px;font-size:11px;font-weight:780;white-space:nowrap}
.top-new:hover,.button.primary:hover{background:var(--brand-dark)}
.top-new>span:first-child{font-size:21px;line-height:1}
.icon-button{border:0;background:none;display:grid;place-items:center;padding:8px;color:inherit}
.icon-button svg{width:22px;height:22px}
.menu-mobile{display:none}
.main{width:100%;max-width:1580px;margin:0 auto;flex:1;padding:39px clamp(20px,3.1vw,50px) 38px}
.workspace-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);color:#9ca6b5;font-size:10px;padding:20px clamp(20px,3.1vw,50px)}
.page-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:29px}
.eyebrow,.kicker{font-size:10px;color:#6878a0;font-weight:850;letter-spacing:.115em;margin:0 0 10px}
.page-heading h1{font-weight:780;font-size:clamp(25px,2.3vw,33px);letter-spacing:-.043em;line-height:1.16;margin:0}
.page-heading p{font-size:12px;color:#8490a2;margin:10px 0 0;line-height:1.7}
.heading-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.button{border:1px solid var(--line);border-radius:9px;min-height:39px;padding:10px 14px;background:white;font-size:11px;font-weight:730;color:var(--ink);display:inline-flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap}
.button:hover{background:#f8f9fd}
.button.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.button.subtle{background:#f6f8fc;border-color:#e7ebf1}
.button.danger{background:#e34e68;color:#fff;border-color:#e34e68}
.button.danger:hover{background:#c8415a}
.button.icon-only{width:36px;height:36px;padding:0}
.button:disabled{opacity:.45}
.button .plus{font-size:16px;line-height:0}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:21px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:23px 22px 20px;min-width:0;position:relative;overflow:hidden}
.kpi::after{content:"";height:92px;width:92px;border-radius:50%;background:#f0f1ff;position:absolute;right:-48px;top:-47px;z-index:0}
.kpi.top-green::after{background:#e9f7ef}.kpi.top-amber::after{background:#fdf3e4}.kpi.top-rose::after{background:#fff0f3}
.kpi>*{position:relative;z-index:1}
.kpi-head{display:flex;justify-content:space-between;gap:10px;align-items:start}
.kpi-icon{display:grid;place-items:center;background:#f0f1ff;color:#5665f2;height:40px;width:40px;border-radius:10px;font-size:21px;font-weight:700}
.kpi.top-green .kpi-icon{background:#e7f7ef;color:#158e69}
.kpi.top-amber .kpi-icon{background:#fff5e8;color:#b47721}
.kpi.top-rose .kpi-icon{background:#fff0f3;color:#b8576a}
.kpi-caption{font-size:10px;color:#8994a5;font-weight:760;white-space:nowrap}
.kpi-value{font-size:clamp(26px,2.4vw,35px);letter-spacing:-.057em;font-weight:840;margin:22px 0 7px;line-height:1}
.kpi-label{font-size:11px;color:#8a96a5}
.kpi-meta{margin:14px 0 0;display:flex;align-items:center;gap:5px;font-size:10px;color:#8792a1}
.kpi-meta strong{color:#53796c}
.panel-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(290px,.84fr);gap:20px;margin-bottom:20px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}
.panel-pad{padding:24px}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}
.panel-head h2{margin:0;font-size:15px;font-weight:800;letter-spacing:-.015em}
.panel-head p{font-size:11px;color:#8a96a7;margin:6px 0 0;line-height:1.5}
.panel-meta{font-size:10px;color:#96a2b1;white-space:nowrap;background:#f5f7fb;border-radius:7px;padding:8px 10px}
.panel-link{border:0;background:none;color:var(--brand);font-weight:800;font-size:11px}
.panel-link:hover{text-decoration:underline}
.bar-chart{height:194px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:17px;margin:19px 6px 6px}
.bar-col{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:8px;min-width:0}
.bar-total{font-size:10px;color:#9aa4b4;min-height:14px}
.bar-track{height:149px;width:min(45px,85%);border-radius:6px 6px 0 0;display:flex;align-items:end;background:#f0f2f8;overflow:hidden}
.bar-fill{width:100%;height:var(--height);background:#cbd2ff;border-radius:6px 6px 0 0;min-height:2px}
.bar-col:last-child .bar-fill{background:var(--brand)}
.bar-name{font-size:10px;color:#8794a3}
.bar-axis{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#9da7b4;border-top:1px solid var(--line);padding-top:13px;margin-top:12px}
.stat-list{display:grid;gap:21px;margin:30px 0 5px}
.stat-row{display:grid;gap:9px}
.stat-row-header{display:flex;justify-content:space-between;gap:10px;font-size:11px}
.stat-row-header span:first-child{font-weight:760}
.stat-row-header strong{color:#8b98a8;font-size:10px}
.progress-track{background:#f0f2f8;height:8px;width:100%;border-radius:40px;overflow:hidden}
.progress-fill{height:100%;width:var(--pct);background:var(--tone,#6677f6);border-radius:40px}
.lower-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.86fr);gap:20px}
.table-wrap{overflow:auto;max-width:100%}
.data-table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap}
.data-table th{text-align:left;font-size:9px;letter-spacing:.09em;color:#a2acb9;font-weight:850;text-transform:uppercase;padding:14px 15px;background:#fafbfe;border-bottom:1px solid var(--line)}
.data-table td{padding:15px;border-bottom:1px solid #eef0f5;vertical-align:middle}
.data-table tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:#fafbff}
.table-strong{font-size:11px;font-weight:800;color:var(--ink)}
.table-sub{display:block;color:#9ba5b2;font-size:10px;margin-top:5px;font-weight:500}
.table-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:#8c98ab}
.status{border-radius:6px;padding:6px 9px;font-size:10px;font-weight:800;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.status::before{content:"";height:6px;width:6px;border-radius:50%;background:currentColor}
.status--neutral{background:#eef1f6;color:#718096}
.status--blue{background:#edf0ff;color:#5b6ad7}
.status--amber{background:#fff4df;color:#ae7b30}
.status--green{background:#e8f7f0;color:#218368}
.status--red{background:#feeeee;color:#c75f6c}
.money{font-variant-numeric:tabular-nums;font-size:11px;font-weight:830}
.mini-avatar{width:32px;height:32px;flex:0 0 32px;border-radius:10px;display:grid;place-items:center;font-size:11px;font-weight:900}
.cell-person{display:flex;align-items:center;gap:10px}
.cell-person>span:last-child{min-width:0}
.action-group{display:flex;justify-content:flex-end;gap:3px}
.table-icon{height:32px;min-width:32px;padding:0 6px;border:1px solid transparent;border-radius:7px;background:none;color:#8291a4;font-size:16px}
.table-icon:hover{border-color:#dce1f1;background:#f5f6ff;color:var(--brand)}
.table-icon.danger:hover{color:#c74560;border-color:#ffe2e7;background:#fff1f4}
.mini-list{display:grid;gap:0}
.mini-task{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #edf0f4}
.mini-task:last-child{border-bottom:0}
.mini-bullet{width:10px;height:10px;border-radius:4px;background:#ffd7c6;margin-top:3px;flex:0 0 auto}
.mini-task strong{display:block;font-size:11px;font-weight:770;line-height:1.4}
.mini-task small{display:block;color:#95a1ad;font-size:10px;margin-top:6px}
.mini-task>button{margin-left:auto;border:0;background:#f3f5fb;color:var(--brand);border-radius:6px;font-size:15px;padding:5px}
.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 19px;flex-wrap:wrap}
.toolbar-title{font-size:12px;font-weight:770;color:#4f5d70}
.toolbar-sub{color:#97a2af;font-size:11px;margin-left:9px;font-weight:500}
.toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.filter-select{height:39px;padding:0 32px 0 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#536477;font-size:11px;font-weight:680}
.entity-table{min-width:750px}
.board{display:grid;grid-template-columns:repeat(4,minmax(195px,1fr));gap:16px;align-items:start}
.board-column{background:#f0f3f8;border:1px solid #e6e9f1;border-radius:11px;padding:12px;min-height:225px}
.board-head{display:flex;align-items:center;justify-content:space-between;padding:5px 5px 15px;gap:5px}
.board-head strong{display:flex;align-items:center;gap:8px;font-size:11px}
.board-head small{background:#dfe5f0;color:#66778a;border-radius:6px;padding:3px 7px;font-size:10px}
.board-dot{display:block;width:8px;height:8px;background:var(--tone);border-radius:50%}
.board-card{background:#fff;border:1px solid #e8ebf0;border-radius:9px;padding:16px;margin-bottom:10px;box-shadow:0 2px 8px #29395905}
.board-card:hover{border-color:#bdc7ff}
.board-card h3{font-size:12px;line-height:1.5;margin:0 0 7px}
.board-card p{font-size:10px;color:#8b98a5;margin:0 0 17px}
.board-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.board-card-bottom{border-top:1px solid #edf0f4;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.board-card-bottom button{border:0;background:#f3f5fc;color:var(--brand);width:29px;height:29px;border-radius:6px;font-size:17px}
.board-empty{border:1px dashed #d1d8e3;border-radius:8px;padding:25px 10px;text-align:center;color:#99a4af;font-size:10px}
.task-filters{display:flex;gap:8px}
.segment-button{background:#fff;border:1px solid var(--line);color:#7c8b9a;border-radius:7px;padding:8px 13px;font-size:10px;font-weight:770}
.segment-button.selected{background:#e9ecff;color:#4e5fe0;border-color:#cdd5ff}
.task-group{margin:23px 0 0}
.task-group h2{font-size:12px;margin:0 0 12px;display:flex;align-items:center;gap:10px}
.task-group-count{color:#98a5b4;font-size:10px;background:#edf0f6;padding:5px 8px;border-radius:6px}
.task-list{border:1px solid var(--line);border-radius:11px;background:white;overflow:hidden}
.task-item{display:flex;align-items:center;gap:15px;padding:17px 18px;border-bottom:1px solid #edf0f4}
.task-item:last-child{border-bottom:0}
.task-item:hover{background:#fbfcff}
.task-check{height:20px;width:20px;flex:0 0 20px;border-radius:6px;background:#fff;border:2px solid #c9d2e2;color:#fff;display:grid;place-items:center;font-size:12px;padding:0}
.task-check.done{border-color:#26a582;background:#26a582}
.task-title{font-size:12px;font-weight:780;margin:0 0 6px}
.task-title.completed{text-decoration:line-through;color:#8d98a6}
.task-detail{font-size:10px;color:#9aa4b1}
.task-core{flex:1;min-width:0}
.task-side{display:flex;align-items:center;gap:15px}
.priority{border-radius:5px;font-size:10px;padding:6px 9px;font-weight:750}
.priority--high{background:#fff0f0;color:#c65a6d}
.priority--medium{background:#fff7e9;color:#b9833e}
.priority--low{background:#eaf3fd;color:#6c8bad}
.deadline{color:#8f9bac;font-size:10px;white-space:nowrap}
.deadline.overdue{color:#d35463;font-weight:800}
.empty-state{text-align:center;padding:53px 20px;color:#8a97a8}
.empty-state-icon{height:57px;width:57px;border-radius:16px;background:#eef0ff;color:#6977ea;margin:0 auto 15px;display:grid;place-items:center;font-size:25px}
.empty-state h3{color:var(--ink);font-size:14px;margin:0 0 8px}
.empty-state p{font-size:11px;max-width:340px;margin:0 auto 19px;line-height:1.7}
.search-summary{font-size:11px;color:#8b98a8;margin-bottom:22px}
.search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.search-result{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px;border:0;border-top:1px solid #edf0f4;background:#fff;text-align:left}
.search-result:hover{background:#f8f9ff}
.search-result strong{font-size:11px}
.search-result small{display:block;margin-top:5px;color:#96a2af;font-size:10px}
.search-result>span:last-child{color:var(--brand);font-size:17px}
.card-subtitle{color:#98a2ae;font-size:10px;font-weight:600}
.editor-dialog,.confirm-dialog{border:1px solid #e3e8f1;padding:0;box-shadow:0 26px 90px #0b203259;border-radius:16px;color:var(--ink);background:#fff;max-height:min(90dvh,850px);overflow:auto}
.editor-dialog{width:min(625px,calc(100vw - 26px))}
.editor-dialog::backdrop,.confirm-dialog::backdrop{background:#101b32a6}
.dialog-header{padding:26px 29px 21px;display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line)}
.dialog-header h2{margin:0;font-size:22px;letter-spacing:-.035em}
.dialog-header .kicker{margin-bottom:10px}
.dialog-close{font-size:25px;color:#8391a4;background:#f6f8fc;border:0;border-radius:8px;height:34px;width:34px}
.dialog-close:hover{color:var(--ink)}
.dialog-body{padding:26px 29px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 16px}
.field{display:grid;gap:8px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font-size:11px;font-weight:760}
.field label .required{color:#d75c70;margin-left:4px}
.field input,.field select,.field textarea{background:#fff;border:1px solid #dce2eb;color:var(--ink);border-radius:8px;min-height:42px;padding:10px 12px;font-size:12px;width:100%}
.field textarea{min-height:94px;resize:vertical;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:#a8b1be}
.field-help{color:#97a3b0;font-size:10px}
.dialog-actions{padding:19px 29px 24px;display:flex;justify-content:flex-end;gap:11px;border-top:1px solid var(--line)}
.confirm-dialog{width:min(420px,calc(100vw - 26px));padding:27px 28px 0}
.confirm-icon{height:40px;width:40px;display:grid;place-items:center;background:#fff0ec;color:#d76b64;border-radius:12px;font-weight:900;font-size:22px}
.confirm-dialog h2{font-size:20px;margin:20px 0 7px}
.confirm-dialog p{font-size:12px;line-height:1.8;color:#718095;margin:0 0 24px}
.confirm-dialog .dialog-actions{margin:0 -28px;padding:18px 28px}
.toast{position:fixed;bottom:24px;right:26px;background:#19273f;color:white;padding:15px 19px;border-radius:10px;box-shadow:0 15px 35px #1b23424b;z-index:100;max-width:min(400px,calc(100vw - 24px));font-size:12px;line-height:1.6;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .2s,transform .2s}
.toast.visible{opacity:1;transform:translateY(0)}
.print-sheet{display:none}
.mobile-scrim{display:none}
@media(max-width:1200px){
.sidebar{width:225px;flex-basis:225px}
.topbar-right{gap:12px}
.topbar{padding-inline:24px}
.main{padding-inline:24px}
.kpi{padding:20px 16px}
.kpi-value{font-size:29px}
.panel-grid,.lower-grid{grid-template-columns:minmax(0,1fr) minmax(270px,.9fr)}
.board{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
.sidebar{position:fixed;top:0;bottom:0;left:0;height:100dvh;width:260px;transform:translateX(-110%);transition:transform .23s ease;box-shadow:13px 0 50px #141c3340}
.sidebar.open{transform:translateX(0)}
.sidebar-close,.menu-mobile{display:grid}
.menu-mobile{border:1px solid var(--line);border-radius:8px;width:38px;height:38px}
.mobile-scrim:not([hidden]){display:block;position:fixed;inset:0;background:#12203580;z-index:35}
.topbar-demo{display:none}
.topbar{top:0}
.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
.demo-ribbon{padding:0 12px;justify-content:space-between;gap:6px}
.ribbon-long{display:none}
.demo-ribbon a{position:static;font-size:9px}
.demo-ribbon strong{font-size:9px}
.topbar{height:66px;padding:0 17px}
.topbar-left{gap:9px}
.topbar-right{gap:9px}
.breadcrumb>span:first-child,.breadcrumb-separator{display:none}
.search{width:39px;height:39px;transition:width .2s}
.search:not(:focus-within) input{width:0;padding:0}
.search:not(:focus-within) kbd{display:none}
.search:focus-within{position:absolute;left:65px;right:17px;z-index:4;width:auto;background:#fff;box-shadow:0 0 0 10px white}
.search kbd{display:none}
.top-new{height:39px;padding:0 10px}
.top-new>span:last-child{display:none}
.main{padding:25px 16px 31px}
.page-heading{align-items:start;gap:15px;flex-wrap:wrap}
.page-heading p{font-size:11px}
.page-heading h1{font-size:29px}
.kpi-grid{gap:10px}
.kpi{padding:18px 15px}
.kpi-value{font-size:25px}
.kpi-caption{font-size:9px}
.panel-grid,.lower-grid,.search-grid{grid-template-columns:1fr;gap:12px}
.panel-pad{padding:21px}
.board{grid-template-columns:1fr}
.task-item{gap:10px;padding:13px 11px}
.task-side{gap:7px;flex-wrap:wrap;justify-content:flex-end}
.task-item .deadline{display:none}
.workspace-footer{display:block;line-height:2;font-size:9px;padding:18px}
.section-toolbar{align-items:start}
.heading-actions .button{min-height:36px}
}
@media(max-width:440px){
.kpi-value{font-size:23px}
.kpi-meta{font-size:9px}
.kpi-label{font-size:10px}
.bar-chart{gap:5px}
.kpi-icon{height:33px;width:33px;font-size:17px}
.dialog-body{grid-template-columns:1fr;padding:23px 20px}
.dialog-header{padding:23px 20px}
.dialog-actions{padding:17px 20px}
.task-side .priority{display:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@page{size:A4;margin:15mm}
@media print{
  html,body{background:#fff!important}
  body>.demo-ribbon,body>.app-layout,body>dialog,body>.toast{display:none!important}
  .print-sheet{display:block!important;font-family:Arial,sans-serif;color:#1b293c;font-size:11pt}
  .print-heading{display:flex;justify-content:space-between;border-bottom:2px solid #4253c5;padding:0 0 20px;margin-bottom:32px}
  .print-heading strong{font-size:24pt;color:#4253c5}
  .print-heading small{display:block;color:#999;font-size:9pt;margin-top:6px}
  .print-sheet h1{font-size:25pt;margin:0 0 6px}
  .print-sheet h2{font-size:12pt;margin:35px 0 10px}
  .print-sheet p{line-height:1.5}
  .print-sheet table{border-collapse:collapse;width:100%;margin-top:25px}
  .print-sheet td,.print-sheet th{border-bottom:1px solid #ddd;padding:14px 8px;text-align:left}
  .print-sheet .sum{text-align:right;margin-top:25px;font-size:12pt}
  .print-sheet .print-alert{margin-top:50px;padding:15px;border:2px dashed #dc7979;text-align:center;color:#a74343;font-weight:700;font-size:12pt}
}
