/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--navy:#061a30;--navy-2:#0b2948;--blue:#0799d5;--cyan:#43c8ef;--orange:#f26a21;--green:#2a9c54;--ink:#102235;--muted:#6c7b89;--pale:#f1f6f8;--line:#dce6eb;--white:#fff;--danger:#d84949;--shadow:0 20px 60px #08213a16}*{box-sizing:border-box}html{background:#dfe9ed}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#eef3f5;margin:0;font-family:Inter,Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}.eyebrow{color:var(--blue);letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.brand{align-items:center;gap:15px;display:flex}.brand img{object-fit:contain;width:74px;height:74px}.brand>div{flex-direction:column;display:flex}.brand strong{letter-spacing:.09em;color:var(--navy);font-size:18px}.brand small{letter-spacing:.28em;color:var(--blue);margin-top:4px;font-size:8px;font-weight:800}.brand.compact{gap:10px}.brand.compact img{width:45px;height:45px}.brand.compact strong{font-size:13px}.brand.compact small{font-size:6px}.welcome{color:#fff;background:radial-gradient(circle at 95% 15%,#22b8ed35,#0000 25%),linear-gradient(150deg,#021324 0%,#082c4d 52%,#075b7f 100%);grid-template-rows:auto 1fr auto auto;min-height:100dvh;padding:34px clamp(22px,6vw,90px);display:grid;position:relative;overflow:hidden}.welcome:after{content:"";width:430px;height:430px;box-shadow:0 0 0 55px #fff08,0 0 0 110px #fff05;border:1px solid #fff2;border-radius:50%;position:absolute;bottom:-120px;right:-230px}.welcome .brand strong{color:#fff}.welcome-top{z-index:1;position:relative}.welcome-card{z-index:1;align-self:center;max-width:720px;padding:42px 0;position:relative}.welcome-card h1{letter-spacing:-.055em;margin:20px 0 26px;font-size:clamp(44px,7vw,86px);line-height:.98}.welcome-card>p{color:#d5e7f1;max-width:580px;margin-bottom:36px;font-size:18px;line-height:1.7}.primary,.secondary{border:0;border-radius:14px;justify-content:center;align-items:center;gap:12px;min-height:54px;padding:0 20px;font-weight:800;display:inline-flex}.primary{color:#fff;background:linear-gradient(135deg,#0799d5,#0078b2);box-shadow:0 12px 28px #0078b233}.primary.xl{min-height:62px;padding:0 26px}.primary.full{width:100%;margin:0 0 20px}.secondary{color:#fff;background:0 0;border:1px solid #ffffff3a;margin-left:10px}.welcome-proof{color:#c6e0eb;z-index:1;gap:24px;font-size:12px;display:flex;position:relative}.welcome-proof span span{color:#52d295;margin-right:6px}.version{color:#84abc0;z-index:1;margin-top:24px;position:relative}.register-page{background:linear-gradient(160deg,#f6fafb,#e7f1f5);flex-direction:column;align-items:center;min-height:100dvh;padding:28px;display:flex}.register-page>.brand{margin:18px 0 24px}.back{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:12px;align-self:flex-start;padding:11px 16px}.register-card{width:min(560px,100%);box-shadow:var(--shadow);background:#fff;border:1px solid #fff;border-radius:28px;padding:38px}.register-card h1{letter-spacing:-.04em;margin:10px 0;font-size:38px}.register-card>p{color:var(--muted);line-height:1.6}.register-card form{gap:17px;margin:30px 0 20px;display:grid}.register-card label,.incident-form>label{color:#33495d;gap:8px;font-size:12px;font-weight:750;display:grid}.register-card input,.incident-form input,.incident-form select,.incident-form textarea,.manage-row select{border:1px solid var(--line);width:100%;color:var(--ink);background:#f9fbfc;border-radius:12px;outline:0;padding:14px}.register-card input:focus,.incident-form input:focus,.incident-form select:focus,.incident-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0799d51a}.register-card>small{color:#8a98a4;font-size:10px}.form-error{color:#b43737;background:#fff0f0;border-radius:10px;padding:12px;font-size:12px}.app-shell{background:var(--pale);width:min(1440px,100%);min-height:100dvh;margin:auto;position:relative;box-shadow:0 0 80px #08213a20}.app-header{border-bottom:1px solid var(--line);z-index:30;background:#fff;align-items:center;height:78px;padding:0 34px;display:flex;position:sticky;top:0}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.header-actions button{color:var(--navy);background:#f1f6f8;border:0;border-radius:11px;width:36px;height:36px}.header-actions .exit{text-transform:uppercase;width:auto;padding:0 13px;font-size:10px;font-weight:800}.header-actions .install-header{color:#087ba8;text-transform:uppercase;background:#e7f6fb;width:auto;padding:0 13px;font-size:9px;font-weight:900}.notification-button{position:relative}.notification-button>b{color:#fff;background:#ed5f31;border:2px solid #fff;border-radius:10px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:8px;display:grid;position:absolute;top:-6px;right:-5px}.role{letter-spacing:.13em;color:#228753;background:#e7f7ef;border-radius:20px;padding:7px 10px;font-size:8px;font-weight:900}.role.internal{color:#087ea9;background:#e9f5fb}.app-content{padding-bottom:94px}.page{width:min(1180px,100% - 44px);margin:auto;padding:40px 0 70px}.page-title{margin-bottom:30px}.page-title h1,.hello h1{letter-spacing:-.05em;margin:9px 0;font-size:clamp(36px,5vw,56px);line-height:1.02}.page-title p{color:var(--muted);margin:0;font-size:15px}.toast{z-index:100;color:#fff;background:#073256;border-radius:30px;align-items:center;gap:10px;padding:14px 20px;font-size:12px;font-weight:700;display:flex;position:fixed;top:92px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #02192d55}.toast>span{color:#59e3a2}.notification-panel{border:1px solid var(--line);background:#fff;border-radius:21px;flex-direction:column;width:min(430px,100vw - 24px);max-height:min(650px,100dvh - 90px);display:flex;position:absolute;top:70px;right:26px;overflow:hidden;box-shadow:0 24px 80px #031a2f35}.notification-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:19px 20px 14px;display:flex}.notification-panel>header small{letter-spacing:.15em;color:var(--blue);font-size:7px;font-weight:900}.notification-panel>header h2{margin:4px 0 0;font-size:20px}.notification-panel>header button{color:var(--blue);background:0 0;border:0;font-size:8px;font-weight:900}.enable-notifications{text-align:left;background:#eaf7fb!important;border:1px solid #c5e5ef!important;align-items:center!important;gap:10px!important;width:auto!important;height:auto!important;min-height:62px!important;margin:13px 13px 0!important;padding:12px!important;display:flex!important}.enable-notifications>span{background:var(--blue);color:#fff;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.enable-notifications>div{gap:4px;display:grid}.enable-notifications b{font-size:10px}.enable-notifications small{color:var(--muted);font-size:8px;line-height:1.4}.notification-list{padding:10px;overflow:auto}.notification-list>button{text-align:left;width:100%;height:auto;color:var(--ink);background:#eef8fc;border:0;border-radius:13px;grid-template-columns:auto 1fr;gap:10px;margin-bottom:7px;padding:12px;display:grid}.notification-list>button.read{background:#fff}.notification-list>button>i{background:var(--blue);border-radius:50%;width:8px;height:8px;margin-top:4px}.notification-list>button.read>i{background:#cdd8dd}.notification-list b{font-size:11px}.notification-list p{color:#526775;margin:5px 0;font-size:9px;line-height:1.45}.notification-list small{color:#8c9aa3;font-size:7px}.notification-empty{text-align:center;place-items:center;gap:7px;padding:35px 20px;display:grid}.notification-empty>span:first-child{color:#278b55;background:#e8f7ef;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.notification-empty b{font-size:12px}.notification-empty>span:last-child{color:var(--muted);font-size:9px;line-height:1.5}.install-dialog{text-align:center;background:#fff;border-radius:25px;width:min(460px,100%);padding:30px;position:relative;box-shadow:0 25px 80px #0007}.install-dialog>.close-editor{position:absolute;top:17px;right:17px}.install-dialog>img{border-radius:22px;width:88px;height:88px;margin:0 auto 18px;display:block;box-shadow:0 8px 24px #08213a20}.install-dialog h2{margin:9px 0;font-size:26px}.install-dialog p,.install-dialog li{color:var(--muted);font-size:12px;line-height:1.6}.install-dialog ol{text-align:left;background:#f1f7f9;border-radius:14px;margin:18px 0;padding:16px 16px 16px 38px}.install-dialog .primary{margin:20px 0 12px}.install-dialog>small{color:#7a8a95;font-size:9px;line-height:1.5;display:block}.hello{justify-content:space-between;align-items:flex-start;margin-bottom:26px;display:flex}.hello>div:first-child>span{color:var(--muted);font-size:14px}.hello h1{margin-top:2px}.date-chip{border:1px solid var(--line);color:var(--muted);text-align:center;background:#fff;border-radius:14px;padding:10px 14px;font-size:9px;line-height:1.45}.date-chip b{color:var(--navy)}.report-hero{text-align:left;color:#fff;background:radial-gradient(circle at 90% 0,#20b9ec66,#0000 28%),linear-gradient(135deg,#06213b,#0a4268);border:0;border-radius:24px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;width:100%;padding:27px 30px;display:grid;box-shadow:0 20px 45px #082a4626}.hero-icon{background:linear-gradient(135deg,#ff8c3e,#e9512a);border-radius:18px;place-items:center;width:58px;height:58px;font-size:28px;font-weight:900;display:grid}.report-hero small,.daily-brief small{letter-spacing:.18em;color:#81d8f5;font-size:8px;font-weight:800}.report-hero h2{margin:6px 0 5px;font-size:27px}.report-hero p{color:#bcd2de;margin:0;font-size:13px}.report-hero>span:last-child{font-size:26px}.quick-grid{grid-template-columns:1fr 1fr;gap:15px;margin:18px 0 30px;display:grid}.quick-grid article,.admin-metrics article{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px;display:grid}.quick-grid small,.admin-metrics small{color:var(--muted);font-size:10px}.quick-grid strong,.admin-metrics strong{letter-spacing:-.05em;margin:10px 0 3px;font-size:36px}.quick-grid span,.admin-metrics span{color:#278d58;font-size:10px}.section-title{justify-content:space-between;align-items:center;margin:30px 0 14px;display:flex}.section-title h2{margin:0;font-size:19px}.section-title button{color:var(--blue);background:0 0;border:0;font-size:11px;font-weight:800}.support-card{border:1px solid var(--line);background:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding:22px;display:flex}.support-card small{color:var(--blue);letter-spacing:.14em;font-size:8px;font-weight:900}.support-card h3{margin:7px 0 5px;font-size:18px}.support-card p{color:var(--muted);margin:0;font-size:11px}.support-card a{color:#19824a;background:#e8f8ee;border-radius:12px;padding:13px 18px;font-size:11px;font-weight:900}.ticket-list,.admin-ticket-list{gap:13px;display:grid}.ticket-card,.admin-ticket-list>article{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px;box-shadow:0 7px 20px #08213a08}.ticket-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ticket-top small{color:var(--blue);letter-spacing:.13em;font-size:8px;font-weight:900}.ticket-top h3{margin:7px 0 5px;font-size:17px}.ticket-top p{color:var(--muted);margin:0;font-size:11px}.ticket-top p>span{color:var(--blue)}.status{white-space:nowrap;text-transform:uppercase;letter-spacing:.07em;color:#61717d;background:#eef2f4;border-radius:20px;padding:7px 10px;font-size:8px;font-weight:900;display:inline-flex}.status.recue{color:#087ba8;background:#e8f4fa}.status.planifiee{color:#a36b08;background:#fff4dc}.status.en-intervention{color:#c3541f;background:#fff0e7}.status.terminee,.status.realise{color:#24844f;background:#e8f7ef}.status.en-cours{color:#087ba8;background:#e9f4fb}.ticket-description{color:#526573;border-top:1px solid var(--line);padding-top:15px;font-size:13px;line-height:1.6}.timeline{grid-template-columns:repeat(4,1fr);margin:20px 0 12px;display:grid}.timeline div{text-align:center;color:#a4afb7;font-size:8px;position:relative}.timeline div:before{content:"";background:#dce5e9;height:2px;position:absolute;top:11px;left:-50%;right:50%}.timeline div:first-child:before{display:none}.timeline i{z-index:1;background:#e6ecef;border-radius:50%;place-items:center;width:24px;height:24px;margin:0 auto 7px;font-size:9px;font-style:normal;font-weight:900;display:grid;position:relative}.timeline .done{color:#147fa8}.timeline .done i{background:var(--blue);color:#fff}.timeline .done:before{background:var(--blue)}.ticket-meta{color:var(--muted);background:#f5f8fa;border-radius:10px;justify-content:space-between;gap:14px;padding:11px;font-size:9px;display:flex}.ticket-meta b{color:var(--ink)}.incident-form{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:24px;gap:18px;margin-bottom:28px;padding:25px;display:grid}.form-head{align-items:center;gap:14px;display:flex}.form-head h2{margin:0 0 4px;font-size:22px}.form-head p{color:var(--muted);margin:0;font-size:12px}.incident-mark{width:46px;height:46px;color:var(--orange);background:#fff0e7;border-radius:14px;place-items:center;font-size:23px;font-weight:900;display:grid}.urgency{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.urgency label{border:1px solid var(--line);background:#f4f7f9;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:12px 8px;font-size:10px;display:flex}.urgency input{width:auto}.upload{background:#f5fbfd;border:1px dashed #9bcfe3;border-radius:13px;padding:16px}.upload input{background:0 0;border:0;padding:0}.upload span{color:var(--muted);font-weight:400}.profile-card{border:1px solid var(--line);text-align:center;box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:30px}.avatar{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border-radius:24px;place-items:center;width:76px;height:76px;margin:auto;font-size:23px;font-weight:900;display:grid}.profile-card h2{margin:16px 0 4px}.profile-card>p{color:var(--muted);margin:0}.profile-card dl{text-align:left;border-top:1px solid var(--line);margin:28px 0 0}.profile-card dl div,.project-detail dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:14px 0;display:flex}.profile-card dt,.project-detail dt{color:var(--muted);font-size:11px}.profile-card dd,.project-detail dd{text-align:right;margin:0;font-size:11px;font-weight:800}.notice{color:#166786;background:#edf8fc;border:1px solid #c7e7f3;border-radius:16px;gap:12px;margin-top:16px;padding:16px;display:flex}.notice>span{font-size:20px;font-weight:900}.notice p{margin:0;font-size:11px;line-height:1.6}.admin-metrics{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.admin-metrics article.navy{color:#fff;background:linear-gradient(135deg,#061a30,#0b456b);border:0}.admin-metrics article.navy small{color:#9fc7d9}.admin-metrics article.navy span{color:#67d6fb}.priority-list{gap:10px;display:grid}.priority-list>article{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:15px;display:grid}.priority-list small{color:var(--muted);font-size:8px}.priority-list h3{margin:4px 0;font-size:14px}.priority-list p{color:var(--muted);margin:0;font-size:10px}.priority-dot{background:#79b5cc;border-radius:10px;width:8px;height:46px}.priority-dot.urgente{background:#f2953c}.priority-dot.critique{background:#df4d4d}.project-mini-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.project-mini{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:1fr auto;padding:18px;display:grid}.project-mini small{color:var(--blue);font-size:8px;font-weight:800}.project-mini h3{margin:6px 0;font-size:16px}.project-mini>b{color:var(--blue);font-size:16px}.project-mini .progress{grid-column:1/3}.project-mini p{color:var(--muted);grid-column:1/3;margin:8px 0 0;font-size:10px}.progress{background:#dfe8ec;border-radius:20px;height:7px;overflow:hidden}.progress i{background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:20px;height:100%;display:block}.daily-brief{color:#fff;background:linear-gradient(135deg,#06223c,#0b4f77);border-radius:20px;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:22px;display:flex}.daily-brief h3{margin:6px 0}.daily-brief p{color:#bcd5e1;margin:0;font-size:11px}.daily-brief button{color:#fff;background:#ffffff12;border:1px solid #ffffff50;border-radius:12px;padding:12px 16px;font-size:10px;font-weight:800}.filter-row{gap:8px;margin-bottom:17px;display:flex;overflow:auto}.filter-row button{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#fff;border-radius:20px;padding:9px 14px;font-size:10px}.filter-row button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.admin-ticket-list>article>p{color:var(--muted);font-size:12px;line-height:1.5}.manage-row{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:15px;padding-top:14px;display:flex}.manage-row label{color:var(--muted);gap:5px;font-size:9px;display:grid}.manage-row select{padding:9px}.manage-row>span{font-size:10px;font-weight:800}.project-tabs{gap:10px;margin-bottom:18px;padding-bottom:4px;display:flex;overflow:auto}.project-tabs button{text-align:left;border:1px solid var(--line);min-width:190px;color:var(--ink);background:#fff;border-radius:13px;padding:13px;font-size:11px;font-weight:800}.project-tabs button small{color:var(--muted);margin-top:5px;font-weight:400;display:block}.project-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.project-tabs button.active small{color:#9fc5d7}.project-detail{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:24px}.project-title{justify-content:space-between;gap:20px;display:flex}.project-title small{color:var(--blue);text-transform:uppercase;font-size:8px;font-weight:900}.project-title h2{margin:7px 0 22px;font-size:25px}.progress-label{color:var(--muted);justify-content:space-between;margin-bottom:8px;font-size:11px;display:flex}.progress-label b{color:var(--blue);font-size:17px}.project-detail dl{margin:22px 0 0}.task-list{gap:9px;display:grid}.task-list>button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:14px;align-items:center;gap:13px;width:100%;padding:14px;display:flex}.task-list>button>i{border:2px solid #c5d2d9;border-radius:8px;place-items:center;width:25px;height:25px;font-style:normal;display:grid}.task-list h3{margin:0 0 4px;font-size:12px}.task-list p{color:var(--muted);margin:0;font-size:9px}.task-list>button.done{opacity:.62}.task-list>button.done>i{color:#fff;background:#2ba368;border-color:#2ba368}.task-list>button.done h3{text-decoration:line-through}.team-summary{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.team-summary>div{background:var(--navy);color:#fff;border-radius:18px;align-items:center;gap:14px;padding:20px;display:flex}.team-summary strong{font-size:34px}.team-summary span{color:#b4cfdb;font-size:10px}.team-list{gap:11px;display:grid}.team-list article{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:15px;display:grid}.team-badge{color:#087eac;background:#e6f5fb;border-radius:14px;place-items:center;width:43px;height:43px;font-size:12px;font-weight:900;display:grid}.team-list small{color:var(--blue);font-size:8px;font-weight:800}.team-list h3{margin:4px 0;font-size:14px}.team-list p{color:var(--muted);margin:0;font-size:9px}.team-list article>span{color:#087ba8;background:#e9f5fb;border-radius:20px;padding:7px 9px;font-size:8px;font-weight:900}.team-list article>span.disponible{color:#25844f;background:#e7f7ef}.empty{text-align:center;background:#fff;border:1px dashed #c9d8df;border-radius:18px;padding:30px}.empty i{color:#288955;background:#e8f7ef;border-radius:14px;place-items:center;width:42px;height:42px;margin:auto;font-style:normal;display:grid}.empty h3{margin:13px 0 6px;font-size:15px}.empty p{color:var(--muted);margin:0;font-size:11px}.skeleton{gap:9px;display:grid}.skeleton i{background:linear-gradient(90deg,#e5edf0,#f6f9fa,#e5edf0) 0 0/200%;border-radius:15px;height:78px;animation:1.3s infinite shine}@keyframes shine{to{background-position:-200%}}.bottom-nav{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffef;border:1px solid #d9e4e9;border-radius:22px;justify-content:space-around;width:min(650px,100% - 28px);height:68px;padding:7px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 18px 50px #08213a2e}.bottom-nav button{color:#80909c;background:0 0;border:0;border-radius:15px;flex:1;align-content:center;place-items:center;gap:3px;display:grid}.bottom-nav button>span:first-child{font-size:20px;line-height:1}.bottom-nav button>span:last-child{font-size:8px;font-weight:800}.bottom-nav button.active{color:#087da9;background:#e9f6fb}@media (width<=900px){.admin-metrics{grid-template-columns:1fr 1fr}.welcome-card h1{font-size:58px}.project-mini-grid{grid-template-columns:1fr}}@media (width<=620px){body{background:var(--pale)}.welcome{padding:25px 20px}.welcome .brand img{width:58px;height:58px}.welcome .brand strong{font-size:14px}.welcome-card{padding:20px 0}.welcome-card h1{font-size:43px}.welcome-card>p{margin-bottom:24px;font-size:14px}.welcome-card .primary,.welcome-card .secondary{width:100%;margin:0 0 10px}.welcome-proof{flex-direction:column;gap:8px}.register-page{padding:20px 14px}.register-card{border-radius:22px;padding:25px 20px}.register-card h1{font-size:32px}.app-header{height:67px;padding:0 15px}.app-header .brand>div{display:none}.app-header .brand img{width:44px}.header-actions{gap:7px}.role{display:none}.header-actions .exit{font-size:8px}.header-actions .install-header{padding:0 9px;font-size:7px}.notification-panel{width:auto;max-height:calc(100dvh - 92px);position:fixed;top:72px;left:8px;right:8px}.page{width:calc(100% - 28px);padding:28px 0 55px}.page-title{margin-bottom:22px}.page-title h1{font-size:38px}.page-title p{font-size:12px}.report-hero{grid-template-columns:auto 1fr;gap:14px;padding:20px}.report-hero>span:last-child{display:none}.hero-icon{width:48px;height:48px}.report-hero h2{font-size:21px}.report-hero p{font-size:10px}.quick-grid{gap:9px}.quick-grid article{padding:16px}.quick-grid strong{font-size:31px}.quick-grid span{font-size:8px}.section-title{margin-top:25px}.ticket-top{flex-direction:column}.ticket-top>.status{align-self:flex-start}.timeline span{font-size:6px}.ticket-meta{flex-direction:column}.urgency{grid-template-columns:1fr}.admin-metrics{gap:8px}.admin-metrics article{padding:15px}.admin-metrics strong{font-size:30px}.priority-list>article{grid-template-columns:auto 1fr}.priority-list .status{grid-column:2}.daily-brief{flex-direction:column;align-items:flex-start}.project-title{flex-direction:column}.project-title .status{align-self:flex-start}.manage-row{flex-direction:column;align-items:stretch}.team-list article{grid-template-columns:auto 1fr}.team-list article>span{grid-column:2;justify-self:start}.bottom-nav{bottom:8px}}@media (width>=1000px){.client-home{max-width:900px}.ticket-list{grid-template-columns:repeat(2,1fr)}.ticket-list .empty{grid-column:1/3}.admin-ticket-list{grid-template-columns:repeat(2,1fr)}.team-list{grid-template-columns:1fr 1fr}.project-detail,.task-list{max-width:900px}}.report-form>label,.form-grid label{color:#33495d;gap:8px;font-size:12px;font-weight:750;display:grid}.report-form input,.report-form select,.report-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#f9fbfc;border-radius:12px;outline:0;padding:14px}.report-form input:focus,.report-form select:focus,.report-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0799d51a}.photo-section{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.photo-section>small{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:8px;font-weight:900;display:block}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.photo-grid a{aspect-ratio:4/3;border:1px solid var(--line);background:#e8eff2;border-radius:11px;display:block;overflow:hidden}.photo-grid img{object-fit:cover;width:100%;height:100%;transition:transform .2s;display:block}.photo-grid a:hover img{transform:scale(1.04)}.photo-uploader{color:var(--blue);cursor:pointer;background:#f2fafc;border:1px dashed #8fc9df;border-radius:15px;align-items:center;gap:12px;margin-top:18px;padding:16px;display:flex;position:relative}.photo-uploader>span:first-child{background:#fff;border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.photo-uploader>span:nth-child(2){gap:3px;display:grid}.photo-uploader b{font-size:11px}.photo-uploader small{color:var(--muted);font-size:9px;font-weight:400}.photo-uploader input{opacity:0;cursor:pointer;position:absolute;inset:0}.photo-uploader.busy{opacity:.65;cursor:wait}.report-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.report-summary article{border:1px solid var(--line);background:#fff;border-radius:17px;padding:18px;display:grid}.report-summary small{color:var(--muted);font-size:9px}.report-summary strong{margin:8px 0 2px;font-size:32px}.report-summary span{color:var(--blue);font-size:8px}.report-form{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:24px;gap:18px;margin-bottom:28px;padding:25px;display:grid}.report-mark{width:46px;height:46px;color:var(--blue);background:#e9f6fb;border-radius:14px;place-items:center;font-size:23px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.report-list{gap:15px;display:grid}.report-card{border:1px solid var(--line);background:#fff;border-radius:21px;padding:22px;box-shadow:0 8px 24px #08213a09}.report-card>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.report-card header>div>small{color:var(--blue);text-transform:capitalize;font-size:9px;font-weight:900}.report-card h3{margin:7px 0 5px;font-size:21px}.report-card header p{color:var(--muted);margin:0;font-size:10px}.workforce-badge{background:var(--navy);color:#fff;border-radius:17px;align-content:center;place-items:center;min-width:58px;height:58px;font-size:22px;font-weight:900;display:grid}.workforce-badge small{color:#a9cbda;text-transform:uppercase;font-size:7px}.report-meta{background:#f4f8fa;border-radius:10px;justify-content:space-between;margin:16px 0;padding:11px;font-size:10px;display:flex}.report-meta span{color:var(--muted)}.report-fields{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.report-fields section{background:#f7fafb;border:1px solid #e7eef1;border-radius:12px;padding:13px}.report-fields section.warning{background:#fff8ee;border-color:#f3dfbf}.report-fields small{color:var(--blue);text-transform:uppercase;font-size:8px;font-weight:900}.report-fields .warning small{color:#b76d13}.report-fields p{color:#526573;white-space:pre-wrap;margin:8px 0 0;font-size:11px;line-height:1.55}@media (width<=620px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary{grid-template-columns:1fr 1fr}.report-summary article:last-child{grid-column:1/3}.form-grid,.report-fields{grid-template-columns:1fr}.bottom-nav button>span:last-child{font-size:7px}}.management-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.management-toolbar>span{color:var(--muted);font-size:10px;font-weight:700}.edit-panel{box-shadow:var(--shadow);background:#fff;border:1px solid #cfe0e7;border-radius:22px;gap:18px;margin:0 0 22px;padding:23px;display:grid}.edit-panel.compact{max-width:900px}.editor-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.editor-head small{color:var(--blue);letter-spacing:.14em;font-size:8px;font-weight:900}.editor-head h2{margin:6px 0 0;font-size:22px}.close-editor{color:#546774;background:#eef3f5;border:0;border-radius:11px;width:36px;height:36px;font-size:22px}.edit-panel label{color:#33495d;gap:7px;font-size:11px;font-weight:750;display:grid}.edit-panel input,.edit-panel select{border:1px solid var(--line);width:100%;color:var(--ink);background:#f9fbfc;border-radius:12px;outline:0;padding:13px}.edit-panel input:focus,.edit-panel select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0799d51a}.project-actions{gap:8px;margin:-8px 0 20px;display:flex}.project-actions button,.row-actions button{border:1px solid var(--line);color:#335064;background:#fff;border-radius:9px;padding:8px 11px;font-size:9px;font-weight:800}.danger-link{color:#c53d3d!important;background:snow!important;border-color:#f0caca!important}.task-list.editable>article{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px;display:grid}.task-list.editable>article.done{opacity:.64}.task-list.editable>article.done h3{text-decoration:line-through}.task-toggle{background:0 0;border:0;padding:0}.task-toggle i{border:2px solid #c5d2d9;border-radius:8px;place-items:center;width:25px;height:25px;font-style:normal;display:grid}.task-list.editable>article.done .task-toggle i{color:#fff;background:#2ba368;border-color:#2ba368}.row-actions{align-items:center;gap:7px;display:flex}.staff-list{gap:11px;display:grid}.staff-list>article{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:13px;padding:15px;display:grid}.staff-info small{color:var(--blue);font-size:8px;font-weight:800}.staff-info h3{margin:5px 0;font-size:15px}.staff-info p{color:var(--muted);margin:0;font-size:9px}.status.sur-chantier,.status.en-intervention{color:#087ba8;background:#e9f4fb}.status.disponible{color:#24844f;background:#e8f7ef}.status.absent,.status.en-conge{color:#bd5525;background:#fff0e7}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#02172cb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{text-align:center;background:#fff;border-radius:24px;width:min(430px,100%);padding:30px;box-shadow:0 25px 80px #0007}.danger-mark{color:#c13d3d;background:#fff0f0;border-radius:16px;place-items:center;width:52px;height:52px;margin:auto;font-size:27px;font-weight:900;display:grid}.confirm-dialog h2{margin:17px 0 8px;font-size:23px}.confirm-dialog p{color:var(--muted);margin:0 0 22px;font-size:12px;line-height:1.6}.confirm-dialog>div:last-child{grid-template-columns:1fr 1fr;gap:9px;display:grid}.cancel-button,.danger-button{border-radius:12px;min-height:48px;font-size:10px;font-weight:900}.cancel-button{border:1px solid var(--line);color:var(--ink);background:#f1f5f6}.danger-button{color:#fff;background:#c83f3f;border:0}@media (width<=720px){.management-toolbar{flex-direction:column;align-items:stretch}.management-toolbar .primary{width:100%}.project-actions{flex-wrap:wrap}.task-list.editable>article{grid-template-columns:auto 1fr}.task-list.editable .row-actions{grid-column:2}.staff-list>article{grid-template-columns:auto 1fr}.staff-list>article>.status{grid-column:2;justify-self:start}.staff-list>article>.row-actions{grid-column:2}.confirm-dialog>div:last-child{grid-template-columns:1fr}}.auth-loading{background:linear-gradient(155deg,#f7fbfd,#e8f5fa);align-content:center;place-items:center;gap:24px;min-height:100vh;padding:30px;display:grid}.auth-loading .skeleton{width:min(360px,80vw)}.auth-loading p{color:var(--muted);margin:0;font-size:12px}.setup-button{color:#096e96;background:#edf8fc;border:1px solid #d3e4ea;border-radius:13px;margin:12px auto 0;padding:12px 18px;font-size:10px;font-weight:900;display:block}.verify-card{text-align:center}.verify-card p{font-size:14px;line-height:1.7}.access-hint{color:#23647c;background:#edf8fc;border:1px solid #c8e5ef;border-radius:12px;padding:12px 14px;font-size:10px;line-height:1.5}.form-success{color:#247a4b;background:#e8f7ef;border:1px solid #b9e5cd;border-radius:12px;padding:12px 14px;font-size:10px;line-height:1.5}.verify-card .secondary{margin-top:12px}
