:root{--bg:#f2f4f6;--surface:#fff;--surface-2:#f7f8fa;--surface-3:#edf1f3;--text:#14212b;--muted:#697984;--faint:#93a0aa;--line:#dfe5e9;--line-strong:#cbd4da;--accent:#0c887b;--accent-soft:#dff2ee;--blue:#3f739f;--blue-soft:#e3edf7;--amber:#a86f16;--amber-soft:#f7ecd8;--red:#b14c4c;--red-soft:#f7e4e4;--violet:#735b9b;--violet-soft:#eee8f6;--shadow:0 12px 34px rgba(24,39,51,.07);--radius:10px;--sidebar:#0d1720}
html[data-theme="dark"]{--bg:#0b1117;--surface:#121b24;--surface-2:#17222c;--surface-3:#202c37;--text:#edf3f6;--muted:#9fadb8;--faint:#74838f;--line:#273540;--line-strong:#354653;--accent:#4fc3b4;--accent-soft:#173a38;--blue:#76a8d1;--blue-soft:#1d3448;--amber:#d8a34b;--amber-soft:#3a2f20;--red:#df8383;--red-soft:#432526;--violet:#b29ad7;--violet-soft:#302641;--shadow:0 16px 40px rgba(0,0,0,.2)}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:light;scroll-behavior:smooth}html[data-theme="dark"]{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;font-size:14px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}input,textarea,select{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}

.login-screen{min-height:100dvh;background:var(--sidebar);color:#eef4f6;display:grid;grid-template-rows:auto 1fr auto;padding:32px clamp(20px,5vw,70px);position:relative;overflow:hidden}.login-screen::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#29404e55 1px,transparent 1px),linear-gradient(90deg,#29404e55 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to right,#000,transparent 60%);opacity:.25;pointer-events:none}.login-brand,.brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.login-brand>span,.brand>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid #3faea1;color:#65d2c5;font-weight:850;letter-spacing:-.04em}.login-brand>div,.brand>div{display:flex;flex-direction:column;gap:2px}.login-brand strong,.brand strong{font-size:14px}.login-brand small,.brand small{font-size:11px;color:#7f909d}.login-card{align-self:center;justify-self:center;width:min(430px,100%);padding:34px;background:#111e28;border:1px solid #2a3b47;box-shadow:0 30px 90px rgba(0,0,0,.35);position:relative;z-index:1}.login-card h1{font-size:32px;letter-spacing:-.04em;margin:7px 0 8px}.login-card>p{margin:0 0 25px;color:#91a1ad;line-height:1.55;font-size:13px}.login-card form{display:grid;gap:15px}.login-card label,.field{display:flex;flex-direction:column;gap:7px}.login-card label span,.field>span{font-size:10px;font-weight:750;color:#9eacb6}.login-card input{width:100%;height:46px;border:1px solid #344651;background:#0c161e;color:#fff;padding:0 13px;border-radius:6px}.login-card input:focus{border-color:#4fc3b4;box-shadow:0 0 0 3px rgba(79,195,180,.12)}.primary-button,.secondary-button,.danger-button,.ghost-button{border-radius:7px;min-height:42px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:800;cursor:pointer;border:1px solid transparent}.primary-button{background:var(--accent);border-color:var(--accent);color:#061512}.login-card .primary-button{background:#4fc3b4;border-color:#4fc3b4}.secondary-button{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.ghost-button{background:transparent;border-color:var(--line);color:var(--muted)}.danger-button{background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 25%,transparent);color:var(--red)}.full{width:100%}.form-error{padding:10px 12px!important;margin:0!important;background:#3d2225;color:#f0a5a5!important;border-left:3px solid #df8383;font-size:11px!important}.login-security{margin-top:22px;border-top:1px solid #2a3b47;padding-top:17px;display:flex;align-items:center;gap:9px;color:#80919e;font-size:10px}.status-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:#4fc3b4;box-shadow:0 0 0 3px rgba(79,195,180,.12)}.status-dot.warning{background:#d8a34b}.status-dot.offline{background:#df8383}.login-screen>footer{position:relative;z-index:1;color:#6e818e;font-size:10px}

.application{min-height:100dvh;display:flex}.sidebar{width:252px;min-height:100dvh;position:fixed;inset:0 auto 0 0;background:var(--sidebar);border-right:1px solid #22323d;color:#dfe8ed;padding:25px 16px;display:flex;flex-direction:column;z-index:30}.brand{padding:0 10px 27px}.brand>span{width:38px;height:38px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{min-height:45px;padding:0 12px;border:0;background:transparent;border-radius:7px;color:#8495a2;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;font-size:12px;font-weight:700}.sidebar nav button:hover{background:#15232d;color:#dce6eb}.sidebar nav button.active{background:#18302f;color:#69d1c4;box-shadow:inset 2px 0 #4fc3b4}.nav-glyph{width:22px;text-align:center;font-size:19px;font-weight:400}.sidebar nav b{margin-left:auto;min-width:20px;height:20px;border-radius:10px;background:#263742;display:grid;place-items:center;font-size:9px}.sidebar-footer{margin-top:auto;padding:15px 10px 2px;border-top:1px solid #243540;display:flex;align-items:center;gap:10px}.sidebar-footer>div{display:flex;flex-direction:column;gap:2px}.sidebar-footer strong{font-size:10px}.sidebar-footer small{font-size:9px;color:#718491}
.workspace{min-width:0;width:calc(100% - 252px);margin-left:252px}.topbar{height:72px;padding:0 max(28px,calc((100vw - 1580px)/2));display:flex;align-items:center;gap:18px;justify-content:space-between;background:color-mix(in srgb,var(--surface) 92%,transparent);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(15px)}.mobile-brand{display:none}.global-search{width:min(500px,45vw);height:38px;border:1px solid var(--line);background:var(--surface-2);display:flex;align-items:center;gap:9px;padding:0 12px;border-radius:8px;color:var(--faint)}.global-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 11%,transparent)}.global-search input{width:100%;border:0;background:transparent;color:var(--text);font-size:11px}.global-search input::placeholder{color:var(--faint)}.top-actions{display:flex;align-items:center;gap:8px}.online-pill{height:31px;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:0 11px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:700}.online-pill i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.online-pill.offline i{background:var(--red)}.icon-button{width:37px;height:37px;border:1px solid var(--line);background:var(--surface);border-radius:8px;display:grid;place-items:center;color:var(--muted);cursor:pointer}.account-button{border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:3px 0 3px 8px;cursor:pointer}.account-button>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.account-button>div{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.account-button strong{font-size:11px}.account-button small{font-size:9px;color:var(--faint)}

.content{max-width:1320px;margin:0 auto;padding:32px 30px 72px;min-height:calc(100dvh - 72px)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.page-head h1{font-size:clamp(27px,3vw,38px);letter-spacing:-.045em;line-height:1;margin:6px 0 7px}.page-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.head-actions,.toolbar-actions{display:flex;align-items:center;gap:8px}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:20px;border-radius:var(--radius)}.panel-title{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:16px}.panel-title h2{margin:3px 0 0;font-size:16px;letter-spacing:-.02em}.panel-title button,.text-action{border:0;background:transparent;color:var(--accent);font-size:10px;font-weight:800;cursor:pointer}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.78fr);gap:18px}.dashboard-main,.dashboard-side{display:grid;gap:18px;align-content:start}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.metric{min-height:91px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:15px;border-radius:var(--radius);display:flex;align-items:center;gap:12px}.metric-icon{width:37px;height:37px;border-radius:8px;display:grid;place-items:center;font-size:16px;background:var(--accent-soft);color:var(--accent)}.metric.blue .metric-icon{background:var(--blue-soft);color:var(--blue)}.metric.amber .metric-icon{background:var(--amber-soft);color:var(--amber)}.metric.violet .metric-icon{background:var(--violet-soft);color:var(--violet)}.metric p{margin:0;display:flex;flex-direction:column;gap:3px}.metric strong{font-size:20px;letter-spacing:-.03em}.metric span{font-size:9px;color:var(--muted)}
.next-event{border:1px solid var(--line);background:var(--surface-2);padding:14px;display:grid;grid-template-columns:66px 1px minmax(0,1fr) auto;gap:14px;align-items:center;border-radius:8px}.next-event .time{display:flex;flex-direction:column}.next-event .time strong{font-size:20px}.next-event .time span{font-size:9px;color:var(--faint)}.divider-v{width:1px;height:51px;background:var(--line-strong)}.next-event h3{margin:5px 0 3px;font-size:12px}.next-event p{margin:0;color:var(--muted);font-size:9px}.tag,.status{display:inline-flex;align-items:center;width:max-content;padding:3px 7px;border-radius:4px;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.tag.intervention,.status.resolved,.status.closed{background:var(--accent-soft);color:var(--accent)}.tag.administration,.status.follow_up{background:var(--blue-soft);color:var(--blue)}.tag.maintenance,.status.waiting{background:var(--amber-soft);color:var(--amber)}.status.draft{background:var(--surface-3);color:var(--muted)}.status.escalated,.status.urgent{background:var(--red-soft);color:var(--red)}
.compact-list{border-top:1px solid var(--line)}.compact-row{min-height:64px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center}.compact-row:last-child{border-bottom:0}.compact-icon{width:31px;height:31px;display:grid;place-items:center;background:var(--surface-3);color:var(--muted);border-radius:7px}.compact-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.compact-copy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-copy span{font-size:9px;color:var(--faint)}.compact-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.compact-meta time{font-size:8px;color:var(--muted)}.row-button{width:100%;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.check-button{width:20px;height:20px;border:1.5px solid var(--line-strong);border-radius:4px;background:var(--surface);color:transparent;display:grid;place-items:center;cursor:pointer;padding:0}.check-button:hover,.check-button.checked{background:var(--accent);border-color:var(--accent);color:#071411}.priority{display:inline-flex;padding:3px 7px;border-radius:4px;font-size:8px;font-weight:850}.priority.high,.priority.urgent{background:var(--red-soft);color:var(--red)}.priority.normal{background:var(--blue-soft);color:var(--blue)}.priority.low{background:var(--surface-3);color:var(--muted)}
.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shortcut{min-height:64px;border:1px solid var(--line);background:var(--surface-2);padding:9px;display:flex;align-items:center;gap:9px;border-radius:7px}.shortcut>span{width:30px;height:30px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:6px}.shortcut div{display:flex;flex-direction:column;gap:2px}.shortcut strong{font-size:10px}.shortcut small{font-size:8px;color:var(--faint)}.quick-note textarea{width:100%;min-height:110px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);padding:11px;border-radius:7px;resize:vertical;font-size:11px;line-height:1.55}.quick-note textarea:focus{border-color:var(--accent)}

.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-input,.filter-select{height:37px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:7px;padding:0 11px;font-size:10px}.filter-input{min-width:250px}.filter-input:focus,.filter-select:focus{border-color:var(--accent)}.segmented{display:inline-flex;border:1px solid var(--line);background:var(--surface-3);padding:3px;border-radius:8px}.segmented button{height:30px;border:0;background:transparent;color:var(--muted);border-radius:5px;padding:0 11px;font-size:9px;font-weight:750;cursor:pointer}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 2px 7px rgba(0,0,0,.08)}
.table-panel{padding:0;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--faint);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.data-table td{padding:13px 14px;border-bottom:1px solid var(--line);font-size:10px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:var(--surface-2)}.data-table strong{font-size:11px}.data-table small{display:block;color:var(--faint);font-size:8px;margin-top:3px}.table-number{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent);font-weight:750}.empty-state{min-height:260px;display:grid;place-content:center;justify-items:center;text-align:center;padding:30px}.empty-state>span{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:20px}.empty-state h3{margin:14px 0 5px;font-size:14px}.empty-state p{margin:0;color:var(--muted);font-size:10px;max-width:310px;line-height:1.5}
.report-cards{display:none}.report-card{border:1px solid var(--line);background:var(--surface);padding:14px;border-radius:9px}.report-card-head,.report-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-card h3{margin:11px 0 5px;font-size:13px}.report-card p{margin:0 0 13px;color:var(--muted);font-size:9px}.report-card-foot{border-top:1px solid var(--line);padding-top:10px;color:var(--faint);font-size:8px}
.timeline-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.day-header{min-height:78px;background:var(--surface-2);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:13px;padding:14px 18px}.date-tile{width:48px;height:51px;border:1px solid var(--line-strong);background:var(--surface);display:grid;place-content:center;text-align:center}.date-tile strong{font-size:20px;line-height:1}.date-tile span{color:var(--accent);font-size:8px;text-transform:uppercase;font-weight:850;margin-top:3px}.day-header p{display:flex;flex-direction:column;gap:3px;margin:0}.day-header strong{font-size:12px}.day-header small{font-size:9px;color:var(--muted)}.agenda{padding:10px 18px 18px}.agenda-item{display:grid;grid-template-columns:58px 10px minmax(0,1fr);gap:13px;min-height:96px;position:relative}.agenda-item:not(:last-child)::after{content:"";position:absolute;left:75px;top:30px;bottom:-1px;width:1px;background:var(--line-strong)}.agenda-time{padding-top:13px;text-align:right}.agenda-time strong{font-size:10px}.agenda-time span{display:block;font-size:8px;color:var(--faint);margin-top:3px}.agenda-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);margin-top:15px;z-index:1;box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--line-strong)}.agenda-card{border:1px solid var(--line);background:var(--surface-2);padding:11px 13px;margin-bottom:9px;border-radius:7px}.agenda-card h3{margin:6px 0 3px;font-size:11px}.agenda-card p{margin:0;color:var(--muted);font-size:9px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:18px}.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mini-calendar span{aspect-ratio:1;display:grid;place-items:center;border-radius:5px;font-size:9px;color:var(--muted)}.mini-calendar .weekday{aspect-ratio:auto;height:25px;color:var(--faint);font-size:8px;font-weight:750}.mini-calendar .today{background:var(--accent);color:#061512;font-weight:850}.mini-calendar .has-event{box-shadow:inset 0 -2px var(--accent)}
.task-board{display:grid;gap:8px}.task-item{min-height:69px;border:1px solid var(--line);background:var(--surface);border-radius:8px;display:grid;grid-template-columns:31px minmax(0,1fr) auto 82px 28px;gap:11px;align-items:center;padding:9px 12px}.task-item.done .task-title{text-decoration:line-through;color:var(--faint)}.task-title{font-size:11px;font-weight:750}.task-description{display:block;color:var(--faint);font-size:8px;margin-top:3px}.task-item time{font-size:8px;color:var(--muted);text-align:right}.menu-button{width:28px;height:28px;border:0;background:transparent;color:var(--faint);cursor:pointer}
.chart-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chart-bars{display:grid;gap:13px}.bar-row{display:grid;grid-template-columns:115px minmax(0,1fr) 34px;gap:10px;align-items:center}.bar-row label{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:8px;background:var(--surface-3);border-radius:4px;overflow:hidden}.bar-track span{height:100%;display:block;background:var(--bar-color,var(--accent));border-radius:4px}.bar-row strong{font-size:9px;text-align:right}.chart-caption{font-size:9px;color:var(--faint);margin:0 0 16px}.stat-highlight{display:flex;align-items:flex-end;gap:7px;margin:7px 0 4px}.stat-highlight strong{font-size:31px;letter-spacing:-.04em}.stat-highlight span{color:var(--muted);font-size:10px;margin-bottom:5px}
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.tool-card{min-height:92px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:var(--radius);padding:14px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;cursor:pointer}.tool-card:hover{border-color:var(--accent)}.tool-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:16px}.tool-card strong{font-size:11px}.tool-card p{margin:3px 0 0;color:var(--faint);font-size:8px}.tool-card>i{color:var(--faint);font-style:normal}.procedure-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.procedure-list{border-top:1px solid var(--line)}.procedure-row{min-height:61px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center}.procedure-row>span{width:30px;height:30px;display:grid;place-items:center;background:var(--surface-3);border-radius:6px}.procedure-row strong{font-size:10px}.procedure-row small{display:block;color:var(--faint);font-size:8px;margin-top:3px}
.admin-grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px}.admin-menu{padding:8px;align-self:start;position:sticky;top:91px}.admin-menu button{width:100%;height:39px;border:0;background:transparent;text-align:left;padding:0 11px;border-radius:6px;color:var(--muted);font-size:10px;font-weight:700;cursor:pointer}.admin-menu button.active{background:var(--accent-soft);color:var(--accent)}.settings-stack{display:grid;gap:14px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.setting-row:first-child{padding-top:0}.setting-row:last-child{border-bottom:0;padding-bottom:0}.setting-row>div{display:flex;flex-direction:column;gap:3px}.setting-row strong{font-size:10px}.setting-row small{font-size:8px;color:var(--faint);line-height:1.4}.color-control{display:flex;align-items:center;gap:8px}.color-control input[type="color"]{width:36px;height:30px;border:1px solid var(--line);background:var(--surface);padding:2px;border-radius:5px}.service-list{display:grid;gap:7px}.service-row{display:grid;grid-template-columns:15px minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--line);background:var(--surface-2);padding:10px;border-radius:7px}.service-row>i{width:11px;height:11px;border-radius:50%;background:var(--service-color)}.service-row strong{font-size:10px}.user-list{display:grid;gap:7px}.user-row{display:grid;grid-template-columns:35px minmax(0,1fr) auto auto;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.user-avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:850}.user-row strong{font-size:10px}.user-row small{display:block;font-size:8px;color:var(--faint);margin-top:2px}.role-pill{font-size:8px;padding:4px 7px;border-radius:4px;background:var(--surface-3);color:var(--muted)}.audit-list{display:grid}.audit-row{display:grid;grid-template-columns:120px minmax(0,1fr) 145px;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:9px}.audit-row time,.audit-row span:last-child{color:var(--faint)}

.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(3,9,13,.72);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px}.modal{width:min(680px,100%);max-height:min(91dvh,900px);overflow:auto;background:var(--surface);border:1px solid var(--line-strong);box-shadow:0 30px 100px rgba(0,0,0,.4);border-radius:12px;animation:modal-in .18s ease-out}.modal.wide{width:min(940px,100%)}@keyframes modal-in{from{opacity:0;transform:translateY(13px)}}.modal-head{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(12px);display:flex;align-items:flex-start;justify-content:space-between;padding:19px 21px;border-bottom:1px solid var(--line)}.modal-head h2{margin:4px 0 0;font-size:19px;letter-spacing:-.03em}.close-button{width:34px;height:34px;border:1px solid var(--line);background:var(--surface-2);border-radius:7px;color:var(--muted);font-size:20px;cursor:pointer}.modal-body{padding:21px}.modal-actions{position:sticky;bottom:0;z-index:2;background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:13px 21px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.form-section{border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:19px}.form-section:last-child{border-bottom:0;margin-bottom:0}.form-section-title{margin:0 0 13px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;min-height:42px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:6px;padding:9px 10px;font-size:10px}.field textarea{min-height:92px;resize:vertical;line-height:1.55}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.field small{font-size:8px;color:var(--faint)}.form-help{font-size:9px;color:var(--faint);line-height:1.5;margin:0}.signature-box{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.signature-box canvas{width:100%;height:130px;display:block;touch-action:none}.signature-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:7px 9px;background:var(--surface-2);color:var(--faint);font-size:8px}.signature-actions button{border:0;background:transparent;color:var(--accent);font-size:8px;font-weight:800;cursor:pointer}.dropzone{border:1px dashed var(--line-strong);background:var(--surface-2);padding:16px;border-radius:7px;text-align:center}.dropzone input{max-width:100%;font-size:9px}.dropzone p{margin:7px 0 0;color:var(--faint);font-size:8px}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:17px;border-bottom:1px solid var(--line)}.detail-header h3{font-size:18px;margin:7px 0 5px}.detail-header p{margin:0;color:var(--muted);font-size:9px}.detail-number{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent);font-size:10px;font-weight:800}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.info-cell{border:1px solid var(--line);background:var(--surface-2);padding:10px;border-radius:6px;display:flex;flex-direction:column;gap:4px}.info-cell span{font-size:7px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}.info-cell strong{font-size:9px}.detail-section{padding:15px 0;border-bottom:1px solid var(--line)}.detail-section h4{margin:0 0 7px;color:var(--faint);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.detail-section p{font-size:10px;line-height:1.6;margin:0;white-space:pre-wrap}.action-timeline{display:grid;gap:7px}.action-entry{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;font-size:9px}.action-entry time{color:var(--faint)}.action-entry strong{font-size:9px}.attachment-list{display:flex;gap:7px;flex-wrap:wrap}.attachment{border:1px solid var(--line);background:var(--surface-2);padding:7px 9px;border-radius:5px;font-size:8px;color:var(--muted)}.qr-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px}.camera-frame{aspect-ratio:3/4;background:#091016;border:1px solid var(--line);border-radius:9px;overflow:hidden;display:grid;place-items:center;position:relative}.camera-frame video{width:100%;height:100%;object-fit:cover}.camera-frame::after{content:"";position:absolute;inset:19%;border:2px solid #4fc3b4;border-radius:8px;box-shadow:0 0 0 200px rgba(0,0,0,.25);pointer-events:none}.camera-placeholder{color:#7c8d99;font-size:10px;text-align:center;padding:20px}.toast-root{position:fixed;right:18px;bottom:18px;z-index:120;display:grid;gap:8px}.toast{min-width:250px;max-width:360px;background:#0e1720;color:#eaf1f4;border:1px solid #2d404d;border-left:3px solid #4fc3b4;padding:12px 14px;border-radius:7px;box-shadow:0 18px 50px rgba(0,0,0,.3);font-size:10px;animation:toast-in .2s ease-out}.toast.error{border-left-color:#df8383}.toast.warning{border-left-color:#d8a34b}@keyframes toast-in{from{opacity:0;transform:translateX(12px)}}.mobile-nav{display:none}

/* Affichage professionnel dense, inspire des consoles d'administration GLPI. */
:root{--sidebar-text:#edf3f6;--radius:4px;--shadow:none}.login-screen{background:var(--sidebar)}.sidebar{width:220px;padding:0 10px 12px;background:var(--sidebar);color:var(--sidebar-text);border-color:color-mix(in srgb,var(--sidebar-text) 16%,transparent)}.brand{height:62px;padding:0 9px;border-bottom:1px solid color-mix(in srgb,var(--sidebar-text) 14%,transparent);margin-bottom:8px}.brand strong{color:var(--sidebar-text)}.brand small{color:color-mix(in srgb,var(--sidebar-text) 62%,transparent)}.brand>span{border-color:var(--accent);color:var(--accent);border-radius:3px}.sidebar nav{gap:1px}.sidebar nav button{min-height:38px;border-radius:3px;padding:0 10px;color:color-mix(in srgb,var(--sidebar-text) 66%,transparent);font-size:11px;font-weight:600}.sidebar nav button:hover{background:color-mix(in srgb,var(--sidebar-text) 9%,transparent);color:var(--sidebar-text)}.sidebar nav button.active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--sidebar-text);box-shadow:inset 3px 0 var(--accent)}.nav-glyph{font-size:16px}.sidebar nav b{border-radius:3px;background:color-mix(in srgb,var(--sidebar-text) 12%,transparent)}.sidebar-footer{border-color:color-mix(in srgb,var(--sidebar-text) 14%,transparent)}.workspace{width:calc(100% - 220px);margin-left:220px}.topbar{height:56px;padding:0 max(22px,calc((100vw - 1520px)/2));background:var(--surface);backdrop-filter:none}.content{max-width:1380px;padding:22px 24px 64px;min-height:calc(100dvh - 56px)}.page-head{align-items:center;margin-bottom:16px}.page-head h1{font-size:25px;letter-spacing:-.025em;margin:4px 0}.page-head p{font-size:10px}.panel,.metric,.timeline-day,.tool-card{box-shadow:none;border-radius:4px}.panel{padding:15px}.panel-title{margin-bottom:12px}.panel-title h2{font-size:14px}.metric-grid{gap:7px;margin-bottom:12px}.metric{min-height:72px;padding:11px;border-radius:4px}.metric-icon,.compact-icon,.tool-card>span,.shortcut>span{border-radius:3px}.dashboard-layout,.dashboard-main,.dashboard-side{gap:12px}.next-event,.shortcut,.agenda-card,.task-item,.report-card,.service-row,.info-cell{border-radius:3px}.compact-row{min-height:52px}.data-table th{padding:9px 11px;font-size:7.5px}.data-table td{padding:10px 11px}.data-table tbody tr td:first-child{box-shadow:inset 3px 0 var(--service-color,transparent)}.report-card{border-left:3px solid var(--service-color,var(--accent))}.filter-input,.filter-select,.primary-button,.secondary-button,.danger-button,.ghost-button,.icon-button,.global-search{border-radius:3px}.modal{border-radius:5px}.modal-head,.modal-body{padding:16px}.form-section{margin-bottom:14px;padding-bottom:14px}.field input,.field select,.field textarea{border-radius:3px}.admin-menu{top:70px}.settings-stack{gap:8px}.setting-row{padding:10px 0}html[data-density="comfortable"] .sidebar nav button{min-height:44px}html[data-density="comfortable"] .content{padding-top:30px}html[data-density="comfortable"] .panel{padding:20px}html[data-density="comfortable"] .data-table td{padding:14px}html[data-density="comfortable"] .compact-row{min-height:64px}

@media(max-width:1020px){.sidebar{width:82px;padding-inline:13px}.brand{padding-inline:9px}.brand>div,.sidebar nav button>span:not(.nav-glyph),.sidebar nav b,.sidebar-footer>div{display:none}.sidebar nav button{justify-content:center;padding:0}.sidebar-footer{justify-content:center}.workspace{width:calc(100% - 82px);margin-left:82px}.dashboard-layout,.calendar-layout{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr}.chart-layout{grid-template-columns:1fr}.tool-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){body{font-size:13px}.application{display:block}.sidebar{display:none}.workspace{width:100%;margin:0}.topbar{height:62px;padding:max(7px,env(safe-area-inset-top)) 14px 0;gap:8px}.mobile-brand{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:10px;font-weight:850}.global-search{width:auto;flex:1;height:34px;padding-inline:9px}.global-search input{font-size:9px}.online-pill,.account-button>div{display:none}.icon-button{width:34px;height:34px}.account-button{padding:0}.account-button>span{width:32px;height:32px}.content{padding:24px 14px calc(91px + env(safe-area-inset-bottom));min-height:calc(100dvh - 62px)}.page-head{align-items:flex-start;margin-bottom:20px}.page-head h1{font-size:27px}.page-head p{font-size:10px}.page-head .primary-button{width:40px;min-width:40px;padding:0;font-size:0}.page-head .primary-button::before{content:"+";font-size:19px}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric{min-height:76px;padding:11px;box-shadow:none}.metric-icon{width:31px;height:31px}.metric strong{font-size:17px}.metric span{font-size:8px}.dashboard-layout{display:block}.dashboard-main,.dashboard-side{display:block}.panel{padding:15px;box-shadow:none;margin-bottom:12px;border-radius:8px}.dashboard-side{display:flex;flex-direction:column}.shortcuts-panel{order:1}.quick-note{order:2}.next-event{grid-template-columns:54px 1px minmax(0,1fr);gap:10px}.next-event>.secondary-button{display:none}.shortcut-grid{grid-template-columns:1fr 1fr}.mobile-nav{position:fixed;inset:auto 0 0;z-index:50;display:grid;grid-template-columns:repeat(5,1fr);height:calc(66px + env(safe-area-inset-bottom));padding:6px 3px env(safe-area-inset-bottom);background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--line)}.mobile-nav button{border:0;background:transparent;color:var(--faint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:19px;cursor:pointer}.mobile-nav button.active{color:var(--accent)}.mobile-nav small{font-size:8px;font-weight:750}.mobile-nav .mobile-create{margin-top:-25px}.mobile-create>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#061512;border:4px solid var(--surface);box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 26%,transparent)}.toolbar{align-items:stretch;flex-direction:column}.filters{display:grid;grid-template-columns:1fr 1fr}.filter-input{min-width:0;grid-column:1/-1}.toolbar-actions{justify-content:flex-end}.table-panel{display:none}.report-cards{display:grid;gap:8px}.calendar-layout{display:block}.calendar-side{display:none}.timeline-day{box-shadow:none}.agenda{padding-inline:11px}.agenda-item{grid-template-columns:48px 9px minmax(0,1fr);gap:10px}.agenda-item:not(:last-child)::after{left:62px}.task-item{grid-template-columns:28px minmax(0,1fr) auto;padding:10px}.task-item>.priority{grid-column:2;width:max-content;margin-top:-10px}.task-item time{grid-column:3;grid-row:2;margin-top:-10px}.task-item>.menu-button{display:none}.tool-grid{grid-template-columns:1fr 1fr;gap:8px}.tool-card{min-height:108px;display:flex;flex-direction:column;align-items:flex-start;padding:11px;box-shadow:none}.tool-card>i{display:none}.procedure-grid{display:block}.admin-grid{display:block}.admin-menu{position:static;display:flex;overflow:auto;margin-bottom:10px}.admin-menu button{width:auto;white-space:nowrap;padding-inline:13px}.setting-row{align-items:flex-start}.data-table.admin-table{display:table}.audit-list{overflow:auto}.audit-row{min-width:550px}.modal-backdrop{padding:0;place-items:end center}.modal{width:100%;max-height:93dvh;border-radius:16px 16px 0 0;border-width:1px 0 0}.modal.wide{width:100%}.modal-head{padding:14px 16px}.modal-head h2{font-size:18px}.modal-body{padding:16px}.modal-actions{padding:11px 16px calc(13px + env(safe-area-inset-bottom))}.modal-actions>*{flex:1}.form-grid{grid-template-columns:1fr;gap:11px}.field.full{grid-column:1}.info-grid{grid-template-columns:1fr 1fr}.qr-layout{grid-template-columns:1fr}.camera-frame{max-height:360px}.login-screen{padding:22px 16px}.login-card{padding:25px 20px}.login-card h1{font-size:29px}.toast-root{left:12px;right:12px;bottom:calc(79px + env(safe-area-inset-bottom))}.toast{min-width:0;max-width:none}.head-actions .secondary-button{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
