@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");:root{--bg:#f4f5f7;--card:#fff;--text:#1f2933;--muted:#6b7280;--line:#e1e4e8;--black:#0b0b0c;--field-border:#aab2c0;--field-bg:#fff;--hover-bg:#f7f8fa;--disabled-bg:#f3f4f6;--accent:#111827;--accent-contrast:#fff;--shadow:rgba(15,23,42,0.035);--overlay:rgba(15,23,42,0.45);--logo-filter:none;--danger-text:#b91c1c;--danger-border:#fecaca}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#16181c;--card:#202329;--text:#e7e9ec;--muted:#9aa1ac;--line:#34383f;--black:#f3f4f6;--field-border:#4a505a;--field-bg:#262a31;--hover-bg:#2a2e35;--disabled-bg:#2a2e35;--accent:#e7e9ec;--accent-contrast:#16181c;--shadow:rgba(0,0,0,0.35);--overlay:rgba(0,0,0,0.6);--logo-filter:invert(1);--danger-text:#f87171;--danger-border:#7f1d1d}}:root[data-theme=dark]{--bg:#16181c;--card:#202329;--text:#e7e9ec;--muted:#9aa1ac;--line:#34383f;--black:#f3f4f6;--field-border:#4a505a;--field-bg:#262a31;--hover-bg:#2a2e35;--disabled-bg:#2a2e35;--accent:#e7e9ec;--accent-contrast:#16181c;--shadow:rgba(0,0,0,0.35);--overlay:rgba(0,0,0,0.6);--logo-filter:invert(1);--danger-text:#f87171;--danger-border:#7f1d1d}input:where(:not([type=checkbox]):not([type=radio]):not([type=color])),select,textarea{border:1px solid var(--field-border);border-radius:9px;background:var(--field-bg);color:var(--text)}input:where(:not([type=checkbox]):not([type=radio]):not([type=color])):focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(17,24,39,.1)}.field input:disabled,.field input[readonly],.form-grid input:disabled,.form-grid input[readonly],.formgrid input:disabled,.formgrid input[readonly],.phase-row input:disabled,.phase-row input[readonly],input:disabled,input[readonly],select:disabled,textarea:disabled{background:var(--disabled-bg);border-color:var(--line);color:var(--muted);cursor:default;box-shadow:none}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);overflow:hidden}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.hidden{display:none}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-full{width:100%}.w-screen{width:100vw}.max-w-md{max-width:28rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-center{align-items:center}.justify-center{justify-content:center}.gap-6{gap:1.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-dashed{border-style:dashed}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-line{border-color:var(--line)}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.bg-bg{background-color:var(--bg)}.bg-dark{background-color:var(--accent)}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.tracking-widest{letter-spacing:.1em}.text-card{color:var(--card)}.text-dark{color:var(--accent)}.text-dark-contrast{color:var(--accent-contrast)}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-muted{color:var(--muted)}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}header{height:82px;background:var(--bg);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 28px;border-bottom:1px solid var(--line);box-shadow:0 4px 18px var(--shadow);position:relative;z-index:20}header img.logo{flex-shrink:0;height:44px;max-width:210px;-o-object-fit:contain;object-fit:contain;filter:var(--logo-filter)}.logo-block{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0}.logo-caption{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);position:relative;left:9px}.header-right{display:flex;align-items:flex-end;gap:14px;flex-shrink:0;margin-left:auto}.header-search{flex-shrink:0}.header-search label{display:block;margin:0 0 5px;font-size:10px;letter-spacing:.08em;color:var(--muted)}.menu-toggle{display:none;flex-shrink:0;border:0;background:transparent;padding:6px;cursor:pointer}.menu-toggle svg{width:26px;height:26px;stroke:var(--text);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sidebar-backdrop{display:none}.global-search-trigger{flex-shrink:0;display:flex;align-items:center;gap:9px;height:42px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);font-size:13px;font-weight:650;cursor:pointer}.global-search-trigger:hover{background:var(--hover-bg);color:var(--text)}.global-search-trigger svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.global-search-trigger kbd{margin-left:4px;padding:2px 6px;border-radius:6px;background:var(--disabled-bg);color:var(--muted);font-size:10px;font-family:inherit}.notif-bell{position:relative;flex-shrink:0}.notif-bell-trigger{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);cursor:pointer}.notif-bell-trigger:hover{background:var(--hover-bg);color:var(--text)}.notif-bell-trigger svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.theme-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);cursor:pointer}.theme-toggle:hover{background:var(--hover-bg);color:var(--text)}.theme-toggle svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.notif-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--card)}.notif-menu{display:none;position:absolute;left:0;top:51px;width:360px;max-height:420px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 45px var(--shadow);padding:7px;z-index:60}.notif-menu.open{display:block}.notif-menu-head{display:flex;align-items:center;justify-content:space-between;padding:7px 8px 10px}.notif-menu-head b{font-size:13px}.notif-mark-all{border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:650;cursor:pointer;text-decoration:underline}.notif-item,.notif-mark-all:hover{color:var(--text)}.notif-item{width:100%;display:flex;align-items:flex-start;gap:10px;border:0;background:var(--card);padding:10px 8px;border-radius:11px;text-align:left;cursor:pointer;font:inherit}.notif-item:hover{background:var(--hover-bg)}.notif-item.unread{background:var(--disabled-bg)}.notif-item.unread:hover{background:var(--line)}.notif-item-icon{flex-shrink:0;font-size:16px;line-height:1;margin-top:1px}.notif-item-body{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-item-body b{font-size:13px;font-weight:700}.notif-item-body small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item-time{font-size:10px;color:var(--muted);margin-top:2px}.global-project-picker{flex-shrink:0;width:460px;z-index:50}.global-project-picker label{display:block;margin:0 0 5px;font-size:10px;letter-spacing:.08em;color:var(--muted)}.global-project-control{position:relative}.global-project-input{width:100%;box-sizing:border-box;height:44px;padding:10px 40px 10px 13px!important;border-radius:12px!important;background:var(--field-bg)!important;color:var(--text)!important;font-size:13px!important;font-weight:750}.global-project-toggle{position:absolute;right:5px;top:5px;width:34px;height:34px;border:0;border-radius:9px;background:var(--disabled-bg);color:var(--text);cursor:pointer;font-size:18px}.global-project-menu{display:none;position:absolute;right:0;top:51px;width:100%;max-height:320px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 45px var(--shadow);padding:7px}.global-project-menu.open{display:block}.global-project-option{width:100%;display:block;border:0;background:var(--card);padding:10px 11px;border-radius:9px;text-align:left;cursor:pointer;color:var(--text)}.global-project-option.active,.global-project-option:hover{background:var(--accent);color:var(--accent-contrast)}.global-project-option b{display:block;font-size:13px}.global-project-option small{display:block;margin-top:2px;opacity:.7}.global-project-empty{padding:13px;color:var(--muted);font-size:13px}.multi-project-picker{position:relative}.multi-project-control{width:100%;min-height:44px;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 40px 7px 10px;margin-top:8px;border:1px solid var(--field-border);border-radius:10px;background:var(--field-bg);cursor:pointer}.multi-project-placeholder{color:var(--muted);font-size:13px;font-weight:700}.multi-project-tag{display:inline-flex;align-items:center;gap:5px;background:var(--accent);color:var(--accent-contrast);border-radius:999px;padding:4px 6px 4px 10px;font-size:12px;font-weight:800}.multi-project-tag button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:15px;line-height:1;padding:2px}.multi-project-toggle-icon{position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted);font-size:12px}.multi-project-menu{position:absolute;left:0;top:calc(100% + 6px);width:100%;max-height:320px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 45px var(--shadow);padding:7px;z-index:60}.multi-project-menu .multi-project-option{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--text)}.multi-project-menu .multi-project-option:hover{background:var(--disabled-bg)}.multi-project-menu .multi-project-option input{width:auto;margin:0}.multi-project-menu .multi-project-option.all{font-weight:800;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:5px;padding-bottom:11px}.mention-field{position:relative;min-width:0}.mention-field input,.mention-field textarea{width:100%}.mention-menu{position:absolute;z-index:60;left:0;right:0;top:100%;margin-top:4px;max-height:220px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 45px var(--shadow);padding:7px}.mention-option{width:100%;display:block;border:0;background:var(--card);padding:9px 11px;border-radius:9px;text-align:left;cursor:pointer;color:var(--text);font:inherit;font-size:13px}.mention-option.active,.mention-option:hover{background:var(--accent);color:var(--accent-contrast)}.mention{background:#eef2ff;color:#3730a3;padding:1px 5px;border-radius:6px;font-weight:700}.mention-me{background:#fef3c7;color:#92400e}.shell{display:grid;grid-template-columns:290px 1fr;height:calc(100vh - 82px)}aside{background:var(--card);border-right:1px solid var(--line);padding:18px 14px;overflow:auto}.group-toggle,.nav,.subnav{width:100%;display:flex;gap:12px;align-items:center;border:1px solid transparent;background:transparent;padding:13px 14px;border-radius:14px;color:var(--text);font-weight:750;cursor:pointer;text-align:left;font-size:14px;transition:.16s}.nav{margin-bottom:7px;text-decoration:none}.group-toggle.active,.group-toggle:hover,.nav.active,.nav:hover{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.group{margin-bottom:7px}.group-toggle{justify-content:flex-start}.group-toggle .chev{margin-left:auto;transition:.18s}.group.open .group-toggle .chev{transform:rotate(90deg)}.submenu{display:none;padding:6px 0 2px 23px}.group.open .submenu{display:block}.subnav{font-size:13px;padding:10px 12px;margin:3px 0;color:var(--muted);border-radius:11px;text-decoration:none}.subnav:before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px solid;flex:none}.subnav.active,.subnav:hover{background:var(--hover-bg);color:var(--text)}.subnav.disabled{cursor:not-allowed;opacity:.5}.subnav.disabled:hover{background:transparent;color:var(--muted)}.group-toggle svg,.nav svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.side-note{font-size:12px;color:var(--muted);padding:14px;line-height:1.45}main{position:relative;min-width:0;overflow:auto}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 8px 22px var(--shadow);overflow-x:auto}.topline{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap}.btn,.topline h2{font-weight:800}.btn{border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast);border-radius:10px;padding:10px 14px;cursor:pointer}.btn.secondary{background:var(--card);color:var(--text);border-color:var(--line)}.btn.danger{background:var(--card);color:var(--danger-text);border-color:var(--danger-border)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.muted{color:var(--muted)}.badge{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:5px 9px;background:var(--hover-bg);font-size:12px;font-weight:800}.toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:18px 0}.toolbar .search{min-width:320px;flex:1}.toolbar .search input{width:100%}.contact-form{display:none;margin-bottom:18px}.contact-form.open{display:block}.contact-list{display:grid;gap:8px}.contact-list-head,.contact-summary{display:grid;grid-template-columns:1fr 1fr 1.1fr 1.1fr 1.2fr 1.3fr 70px 34px;gap:14px;align-items:center}.contact-list-head{padding:0 16px 8px;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.contact-sort-header{display:flex;align-items:center;gap:6px;border:0;background:transparent;padding:4px 0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.contact-sort-header:hover{color:var(--text)}.contact-sort-arrow{font-size:11px;line-height:1;opacity:.35}.contact-sort-header.active .contact-sort-arrow{opacity:1}.contact-item{background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:0 5px 16px var(--shadow)}.contact-summary{list-style:none;padding:14px 16px;cursor:pointer;font-size:13px}.contact-summary::-webkit-details-marker{display:none}.contact-summary:hover{background:var(--hover-bg)}.contact-summary strong{font-size:14px;color:var(--text)}.contact-summary .contact-chevron{font-size:18px;text-align:center;transition:.18s}.contact-projects{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.contact-project-tag{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px 9px;background:var(--hover-bg);color:var(--muted);font-size:11px;font-weight:750;white-space:nowrap}.contact-project-tag.archived{opacity:.55}.contact-item[open] .contact-chevron{transform:rotate(180deg)}.contact-details{border-top:1px solid var(--line);background:var(--hover-bg);padding:10px 14px;display:flex;flex-direction:column;align-items:stretch;gap:14px}.contact-lines{flex:1;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px}.contact-line{font-size:12px;color:var(--muted);line-height:1.3}.contact-line b{display:block;margin-bottom:1px;color:var(--text)}.contact-mail-cell{min-width:0}.contact-mail-link{display:inline-flex;align-items:center;max-width:100%;color:var(--muted);text-decoration:none}.contact-mail-link:hover{color:var(--text)}.contact-mail-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px}.contact-mail-link:hover .contact-mail-text{text-decoration-color:currentColor}.contact-actions{display:flex;gap:6px;flex-shrink:0}.icon-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);cursor:pointer}.icon-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-btn:hover{background:var(--hover-bg)}.icon-btn.danger{border-color:var(--danger-border);color:var(--danger-text)}.icon-btn.danger:hover{background:var(--disabled-bg)}@media (max-width:900px){.contact-list-head{display:none}.contact-summary{grid-template-columns:1fr 1fr 70px 32px}.contact-summary .company,.contact-summary .contact-mail-cell,.contact-summary .contact-projects,.contact-summary .function{display:none}.contact-lines{grid-template-columns:1fr}.contact-details{flex-direction:column;align-items:stretch}.contact-line-mail-mobile{display:block!important}}.contact-line-mail-mobile{display:none}.project-list-head,.project-summary{grid-template-columns:1.1fr .75fr .8fr .7fr 1.6fr 110px 34px}.project-summary-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}@media (max-width:900px){.project-summary{grid-template-columns:1fr 106px 32px}.project-summary-description,.project-summary-reference,.project-summary-status,.project-summary-type{display:none}}.formgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;align-items:end}.pfield{grid-column:span 4}.pfield.half{grid-column:span 6}.pfield.full{grid-column:1/-1}.pfield.small{grid-column:span 3}.formgrid label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.contact-form input,.contact-form select,.formgrid input,.formgrid select,.formgrid textarea{width:100%;border:1px solid var(--field-border);border-radius:12px;padding:11px 12px;background:var(--field-bg);color:var(--text);font:inherit}.formgrid textarea{min-height:110px;resize:vertical}.choice-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.choice{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:var(--card);color:var(--text);font-size:12px;font-weight:800;cursor:pointer;text-transform:none;letter-spacing:0}.choice input{width:auto;margin:0}.choice.selected{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.ref-preview{font-weight:900;letter-spacing:.05em}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}@media (max-width:900px){header{padding:0 10px;gap:8px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}header img.logo{max-width:84px;height:38px}.logo-caption{display:none}.header-right{gap:8px}.header-search label{display:none}.global-search-trigger{padding:0 10px;width:42px}.global-search-trigger kbd,.global-search-trigger span{display:none}.notif-menu{width:min(88vw,360px)}.global-project-picker{position:relative;right:auto;top:auto;width:min(48vw,190px);margin-left:auto;margin-right:0}.global-project-picker label{display:none}.pfield,.pfield.half,.pfield.small{grid-column:1/-1}.field,.field.full,.field.small,.field.third{grid-column:1/-1!important}.shell{grid-template-columns:1fr}.sidebar-backdrop.open{display:block;right:0;background:rgba(15,23,42,.4);z-index:90}.sidebar-backdrop.open,aside{position:fixed;top:0;left:0;bottom:0}aside{z-index:100;width:280px;max-width:82vw;transform:translateX(-100%);transition:transform .22s ease;box-shadow:10px 0 30px rgba(15,23,42,.18)}aside.open{transform:translateX(0)}.formgrid{grid-template-columns:1fr}.fiche-grid,.intervenant-grid{grid-template-columns:1fr!important}.topline>div{flex-wrap:wrap}.grid{grid-template-columns:1fr!important}.toolbar .search{min-width:0}}.fiche-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.span4{grid-column:span 4}.span6{grid-column:span 6}.span12{grid-column:1/-1;min-width:0}.field{grid-column:span 6}.field.full{grid-column:span 12}.field.third{grid-column:span 4}.field.small{grid-column:span 3}.field label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800;margin:0 0 6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--field-border);border-radius:12px;padding:11px 12px;background:var(--field-bg);font:inherit;color:var(--text)}.field textarea{min-height:95px;resize:vertical}.field textarea.notes-textarea{min-height:180px}.field-suffix-wrap{position:relative}.field-suffix-wrap input{padding-right:40px!important}.field-suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;font-weight:700;pointer-events:none}.field select.multiselect{padding:4px}.field select.multiselect option{padding:7px 9px;border-radius:8px}.field select.multiselect option:checked{background:var(--muted);color:#fff}.separator{height:1px;background:var(--line);margin:18px 0}.subhead{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--text);font-weight:850;margin:8px 0 12px}.note{font-size:13px;color:var(--muted);line-height:1.45}.rowhead{display:flex;justify-content:space-between;gap:12px;align-items:center}.rowtitle,.section-title{font-weight:850}.section-title{background:var(--accent);color:var(--accent-contrast);border-radius:14px;padding:12px 14px;margin:16px 0 10px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;border:0;width:100%;text-align:left;font-size:14px}.section-title .chev{font-size:13px;opacity:.85}.group-body{display:flex;flex-direction:column;gap:10px}.group-body.collapsed{display:none}.rubric-card{cursor:pointer;transition:.18s ease}.rubric-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,23,42,.08)}.rubric-icon{width:46px;height:46px;border-radius:14px;background:var(--accent);color:var(--accent-contrast);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.rubric-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.rubric-link{font-weight:850;color:var(--text);margin-top:12px}.preview-list{display:flex;flex-direction:column;gap:4px;margin-top:10px}.link-button{background:none;border:none;padding:0;color:var(--text);text-decoration:underline;cursor:pointer;font-size:inherit}.link-button:hover{color:var(--accent)}.nas-folder-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);cursor:pointer;font-size:13px}.nas-folder-row:hover{background:var(--hover-bg)}.nas-file-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-bottom:1px solid var(--line);font-size:13px}.nas-file-row:last-child{border-bottom:none}.nas-file-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.nas-file-name.dir{font-weight:700}.nas-file-meta{color:var(--muted);font-size:11px;white-space:nowrap}.nas-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.nas-tile{position:relative;width:104px;padding:10px 6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--card);text-align:center}.nas-tile.dir,.nas-tile.pdf{cursor:pointer}.nas-tile.dir:hover,.nas-tile.pdf:hover{background:var(--hover-bg)}.nas-tile-check{position:absolute;top:6px;left:6px}.nas-tile-icon{font-size:26px;line-height:1;margin-bottom:6px;display:flex;justify-content:center}.nas-pdf-icon{fill:none;stroke:var(--danger-text);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nas-pdf-icon text{font-size:7px;font-weight:800;font-family:Arial,sans-serif;stroke:none;fill:var(--danger-text)}.nas-tile-name{font-size:11px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nas-tile-meta{font-size:10px;color:var(--muted);margin-top:2px}.preview-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:6px 0;font-size:12px}.preview-line b{color:var(--muted)}.preview-line span{text-align:right;color:var(--text)}.preview-line.block{flex-direction:column;gap:4px}.preview-line.block span{text-align:left;white-space:pre-wrap}.preview-empty{color:var(--muted);font-size:13px;font-style:italic}.preview-intervenant-group{padding:6px 0;border-bottom:1px solid var(--line)}.preview-intervenant-group:last-child{border-bottom:none}.preview-intervenant-category{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.preview-intervenant-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;padding:3px 0;flex-wrap:wrap}.preview-intervenant-nom{font-weight:700;color:var(--text)}.preview-intervenant-detail{color:var(--muted);text-align:right}.intervenant-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px 18px;margin-top:12px;font-size:13px}.intervenant-grid .wide{grid-column:span 2}.modal-backdrop{display:none;position:fixed;inset:0;background:var(--overlay);z-index:1000;align-items:center;justify-content:center;padding:24px}.modal-backdrop.open{display:flex}.modal-card-office{width:min(760px,96vw);max-height:88vh;overflow:auto;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px var(--shadow);padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.modal-head h3{margin:0;font-size:22px}.modal-close{border:0;background:var(--disabled-bg);color:var(--text);width:38px;height:38px;border-radius:10px;font-size:20px;cursor:pointer}.contact-results{display:grid;gap:9px;margin-top:12px;max-height:330px;overflow:auto}.contact-result{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:12px;cursor:pointer;background:var(--card)}.contact-result.selected,.contact-result:hover{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.contact-result input{width:auto}.contact-result-main{flex:1}.contact-result-main b{display:block}.contact-result-main small{opacity:.7}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.search-palette{padding:0;width:min(620px,96vw);max-height:74vh;display:flex;flex-direction:column}.search-palette-input-row{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);flex-shrink:0}.search-palette-icon{width:20px;height:20px;flex-shrink:0;stroke:var(--muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.search-palette-input-row input{flex:1;border:0!important;padding:4px!important;font-size:15px!important;background:transparent!important}.search-palette-input-row input:focus{outline:none}.search-palette-input-row .modal-close{width:30px;height:30px;font-size:16px;flex-shrink:0}.search-palette-results{overflow:auto;padding:10px 12px 16px}.search-group{margin-bottom:8px}.search-group-label{padding:8px 10px 4px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.search-result{width:100%;display:block;border:0;background:var(--card);padding:10px 12px;border-radius:11px;text-align:left;cursor:pointer;color:var(--text);font:inherit}.search-result.active,.search-result:hover{background:var(--accent);color:var(--accent-contrast)}.search-result b{display:block;font-size:13px;font-weight:700}.search-result small{display:block;margin-top:2px;opacity:.7}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat{display:flex;gap:22px;align-items:center;min-height:132px}.stat p{margin:0 0 7px;color:var(--muted)}.stat h2{font-size:30px;margin:0 0 7px}.stat small{color:var(--muted);font-weight:400}.bubble.mono{background:var(--card);color:var(--text);border:1px solid var(--accent);border-radius:14px;width:54px;height:54px;display:grid;place-items:center;flex:none}.bubble.mono .ui-icon{width:27px;height:27px;stroke-width:1.8}.ui-icon{width:22px;height:22px;min-width:22px;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;fill:none;vertical-align:middle}.dot,.ui-icon{display:inline-block}.dot{width:10px;height:10px;border-radius:50%}.running{margin-top:24px}.running-grid{display:grid;grid-template-columns:74px 1fr 220px 245px;gap:24px;align-items:center}.play{width:74px;height:74px;border-radius:50%;border:1px solid var(--field-border);background:var(--disabled-bg);color:var(--text);font-size:0;cursor:pointer;position:relative;box-shadow:0 8px 18px rgba(15,23,42,.08);transition:background .16s ease}.play:hover{background:#e8ebef}.play:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-38%,-50%);width:0;height:0;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:18px solid}.running h3{font-size:21px;margin:0 0 6px}.running p{margin:0 0 8px;color:var(--muted)}.running strong{font-size:44px;letter-spacing:2px}.timer-actions{display:flex;gap:10px}.two-cols{display:grid;grid-template-columns:1fr 1.18fr;gap:24px;margin-top:28px}.bar-row{display:grid;grid-template-columns:18px 1fr 80px;gap:10px;align-items:center;margin:16px 0}.bar-track{grid-column:2/3;height:8px;background:#f1f2f4;border-radius:9px;overflow:hidden}.bar-fill{height:100%;border-radius:9px}.sessions .item,.table-row{display:grid;grid-template-columns:1fr auto;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}.item p{margin:0 0 5px}.item small{color:var(--muted)}.grid-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;align-items:stretch}.card.mini{min-height:190px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .18s ease,transform .18s ease}.card.mini:hover{box-shadow:0 14px 32px rgba(16,24,40,.09);transform:translateY(-1px)}.mini h3{margin:0 0 2px;line-height:1.25}.mini p{color:var(--muted);margin:0 0 8px;min-height:24px}.mini-actions{margin-top:auto;display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #edf0f3}.mini-actions .btn{padding:10px 12px;min-width:92px;text-align:center;white-space:nowrap}.mini-actions input[type=color]{width:42px;height:38px;min-width:42px;padding:3px;margin:0;border-radius:8px;cursor:pointer}.mini-actions .dot{width:12px;height:12px;min-width:12px}.btn.favorite{font-size:0;min-width:44px;width:44px;padding:10px 0}.btn.favorite:before{content:"★";font-size:18px;line-height:1;color:var(--text)}.btn.favorite.off:before{content:"☆"}.form-card{margin-bottom:22px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;align-items:end}.form-grid label{display:block;font-weight:700;color:#30343b;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:8px;padding:11px 12px;border:1px solid var(--field-border);border-radius:10px;font:inherit;background:var(--field-bg);color:var(--text)}.manual-grid{grid-template-columns:1fr 1fr 1fr 1fr 1.4fr auto}.duration-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.table-head,.table-row{grid-template-columns:1.4fr 1fr 1fr 1fr 90px}.table-head-with-user,.table-row-with-user{grid-template-columns:1.1fr 1.3fr 1fr 1fr 1fr 90px}.table-head{display:grid;font-weight:800;padding:10px 0;border-bottom:1px solid var(--line)}.table-row-note{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:700}.fab{position:fixed;right:35px;bottom:35px;width:64px;height:64px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-contrast);font-size:34px;box-shadow:0 12px 28px rgba(0,0,0,.22);cursor:pointer;z-index:40}.report table{width:100%;border-collapse:collapse}.report td,.report th{padding:12px;border-bottom:1px solid var(--line);text-align:left}@media print{.sidebar-backdrop,aside,header{display:none!important}body{overflow:visible}.shell{display:block;height:auto}main{overflow:visible}.report{font-size:11px}.report .card{box-shadow:none;border:1px solid #ddd;border-radius:8px;padding:10px 14px;margin-top:10px!important;page-break-inside:avoid}.report h2{font-size:15px;margin:0 0 6px}.report h3{font-size:12px;margin:0 0 6px}.report p{font-size:11px;line-height:1.5;margin:0}.report table{font-size:10px}.report td,.report th{padding:4px 6px}.report.card{box-shadow:none;border:1px solid #ddd;padding:10px 14px}.report h1{font-size:16px;margin:0 0 6px}.fiche-grid{font-size:11px}.fiche-grid .card{box-shadow:none;border:1px solid #ddd;border-radius:8px;padding:10px 14px;page-break-inside:avoid}.fiche-grid .subhead{font-size:12px;margin:10px 0 8px}.fiche-grid .field label{font-size:10px}.fiche-grid .field input,.fiche-grid .field select,.fiche-grid .field textarea{border:none;padding:2px 0;font-size:11px}.fiche-grid .field textarea{height:auto;min-height:20px;overflow:visible;resize:none}.fiche-grid .separator{margin:10px 0}.group-body.collapsed{display:flex!important}.section-title .chev{display:none}.intervenant-grid{font-size:11px}.page-programme,.page-reglementation{padding:10px!important}.page-programme .topline,.page-reglementation .topline{margin-bottom:8px}.page-programme .fiche-grid,.page-reglementation .fiche-grid{gap:8px}.page-programme .card,.page-reglementation .card{padding:8px 12px;page-break-inside:auto;-moz-column-break-inside:auto;break-inside:auto}.page-programme .subhead,.page-reglementation .subhead{font-size:12px;margin:4px 0 6px}.page-programme .separator,.page-reglementation .separator{margin:6px 0}.page-programme .field label,.page-reglementation .field label{font-size:9px;margin:0 0 2px}.page-programme .field input,.page-programme .field select,.page-programme .field textarea,.page-reglementation .field input,.page-reglementation .field textarea{padding:2px 0;font-size:10px;line-height:1.35}.page-programme .field textarea{min-height:20px}.page-programme .field,.page-reglementation .field{page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}}@media (max-width:1100px){.cards,.form-grid,.manual-grid,.running-grid,.two-cols{grid-template-columns:1fr}.running strong{font-size:34px}}@media print{.fab,.form-card{display:none!important}}@media (max-width:900px){.table-head{display:none}.table-row{grid-template-columns:1fr 1fr;row-gap:6px}.table-row button{grid-column:1/-1}}.progress{height:10px;background:var(--disabled-bg);border-radius:999px;overflow:hidden}.progress .bar{height:100%;border-radius:999px;background:var(--accent);transition:.2s}.phase-list{display:grid;gap:12px}.check-section-title{display:flex;align-items:center;gap:10px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:22px 0 10px;font-weight:800}.check-section-title>input[type=checkbox]{width:15px;height:15px;margin:0;cursor:pointer;flex-shrink:0}.check-section-toggle{display:flex;align-items:center;gap:7px;flex:1;border:0;background:transparent;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.check-chevron{display:inline-block;font-size:13px;transition:transform .18s}.suggestion-trigger{flex-shrink:0;width:26px;height:26px;border:1px solid var(--line);border-radius:8px;background:var(--card);cursor:pointer;font-size:13px;line-height:1}.suggestion-trigger:hover{background:#f7f8fa}.suggestion-sent{flex-shrink:0;color:#16a34a;font-weight:700;text-transform:none;letter-spacing:normal}.suggestion-form{display:flex;flex-direction:column;gap:8px;background:var(--hover-bg);border:1px solid var(--line);border-radius:12px;padding:12px;margin:-4px 0 14px}.suggestion-form textarea{min-height:60px}.suggestion-form-actions{display:flex;justify-content:flex-end;gap:8px}.suggestion-review-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;border-top:1px solid var(--line)}.suggestion-review-row:first-of-type{border-top:0;padding-top:4px}.check-row{display:grid;grid-template-columns:22px 50px 1fr 1.3fr 150px 32px;gap:10px;align-items:center;padding:9px 11px;margin-bottom:8px;border:1px solid var(--line);border-radius:13px;background:var(--card)}.check-row.with-assignee{grid-template-columns:22px 50px 1fr .95fr 140px 190px 130px 32px}.check-row.compact{grid-template-columns:50px 1fr 1.1fr 120px 150px}.check-observation-text{font-size:13px;color:var(--muted);line-height:1.4;white-space:pre-wrap}.check-select{display:flex;align-items:center;justify-content:center}.check-select input{width:16px;height:16px;margin:0;cursor:pointer}.check-assignee select{width:100%;font-size:13px;padding:6px 8px}.check-assignee small{display:block;text-align:center;color:var(--muted)}.check-duedate input{width:100%;font-size:13px;padding:6px 8px}.check-duedate small{display:block;text-align:center;color:var(--muted)}.check-duedate.due-soon small{color:#b45309;font-weight:700}.check-duedate.due-overdue small{color:#dc2626;font-weight:700}.check-row.done{border-color:#bbf7d0;background:#f8fffb}.check-row.na{border-color:#d1d5db;background:#f9fafb}.check-row.row-selected{border-color:#93c5fd;background:#eff6ff;box-shadow:inset 0 0 0 1px #93c5fd}.check-row .code{font-weight:800;color:var(--muted)}.check-rubric b{display:block}.check-row textarea.check-observation{min-height:40px;margin-top:0}.status{display:flex;flex-direction:column;align-items:center;gap:4px}.status-buttons{display:flex;gap:6px;flex-wrap:nowrap;justify-content:center}.status-buttons .btn{padding:5px 9px;font-size:12px;line-height:1.3;white-space:nowrap}.status .btn.selected{outline:2px solid var(--accent);outline-offset:-1px}.check-meta{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.3}.check-meta small{min-height:1.3em}.check-initials{font-weight:800;color:#9ca3af;letter-spacing:.04em}.check-clear{align-self:center;width:26px;height:26px}.check-clear svg{width:12px;height:12px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:16px}.table{width:100%;border-collapse:separate;border-spacing:0 8px}.table th{text-align:left;font-size:12px;text-transform:uppercase;color:var(--muted);padding:0 11px}.table td{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px}.table td:first-child{border-left:1px solid var(--line);border-radius:12px 0 0 12px}.table td:last-child{border-right:1px solid var(--line);border-radius:0 12px 12px 0}.template-details{margin-bottom:14px;overflow-x:auto}.template-details summary{list-style:none;cursor:pointer}.template-details summary::-webkit-details-marker{display:none}.template-summary{display:flex;justify-content:space-between;align-items:center;gap:12px}.template-summary .phase-title{font-weight:800;font-size:15px}.chevron{font-size:18px;transition:.2s}.template-details[open] .chevron{transform:rotate(90deg)}.template-meta{display:grid;grid-template-columns:1fr 2fr auto;gap:10px;margin:14px 0;padding:12px;background:var(--hover-bg);border:1px solid var(--line);border-radius:14px}.template-meta label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:5px}@media (max-width:900px){.check-row,.filters{grid-template-columns:1fr}.status{justify-content:flex-start}.template-meta{grid-template-columns:1fr}}@media print{.check-row button,.filters,.no-print,.status{display:none!important}}.span3{grid-column:span 3}.span5{grid-column:span 5}.span7{grid-column:span 7}.span8{grid-column:span 8}.kpi{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.kpi .label{color:var(--muted);font-weight:750;font-size:13px}.kpi strong{display:block;font-size:27px;margin-top:6px}.kpi-percent{display:block;margin-top:4px;font-size:11px;color:var(--muted);font-weight:850}.kpi-icon{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text);flex:none}.kpi-icon,.pill{background:var(--hover-bg)}.pill{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--muted);font-size:12px;font-weight:850}.pill.ok{background:#ecfdf5;color:#166534;border-color:#bbf7d0}.pill.info{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}.pill.wait{background:#fffbeb;color:#92400e;border-color:#fde68a}.pill.off{color:var(--muted)}.pill.danger,.pill.off{background:var(--disabled-bg)}.pill.danger{color:var(--danger-text);border-color:var(--danger-border)}.delta{font-size:12px;font-weight:850;border-radius:999px;padding:4px 7px;display:inline-flex;justify-content:center;white-space:nowrap}.delta.ok{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.delta.warn{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.phase-row{display:grid;grid-template-columns:1.05fr .55fr .75fr .75fr .75fr .75fr .75fr .75fr .85fr .58fr .85fr .85fr .58fr .65fr;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--card);margin-bottom:8px}.phase-row.header{background:transparent;border:0;color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:850}.phase-row input{width:100%;min-width:0;padding:8px;border:1px solid var(--field-border);border-radius:9px;background:var(--field-bg);color:var(--text)}.phase-row.total-row{margin-top:8px;padding-top:12px;padding-bottom:12px;border-top:2px solid var(--accent);background:var(--hover-bg);font-weight:800}.phase-row.total-row b,.phase-row.total-row span{font-weight:800}@media (max-width:1100px){.phase-row,.pie-wrap{grid-template-columns:1fr}.phase-row.header{display:none}.profit-row{grid-template-columns:1fr}}.chat-layout{display:grid;grid-template-columns:300px 1fr;gap:18px;height:calc(100vh - 230px)}.rooms{overflow:auto}.room-search{width:100%;padding:9px 10px;margin-bottom:10px;font-size:13px}.room{display:block;width:100%;border:0;background:transparent;padding:12px;border-radius:12px;text-align:left;font-weight:750;cursor:pointer;margin-bottom:6px;color:var(--text)}.room.active,.room:hover{background:var(--accent);color:var(--accent-contrast)}.room-ref{display:block;margin-top:2px;font-size:11px;font-weight:400;color:var(--muted)}.room.active .room-ref,.room:hover .room-ref{color:inherit;opacity:.75}.chat-card{display:flex;flex-direction:column;min-height:0}.messages{flex:1;overflow:auto;padding:14px;background:var(--hover-bg)}.message,.messages{border:1px solid var(--line);border-radius:14px}.message{background:var(--card);padding:12px;margin-bottom:10px;max-width:78%}.message.mine{margin-left:auto;background:var(--accent);color:var(--accent-contrast)}.message-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px}.message small{white-space:nowrap;opacity:.65}.message-delete{border:0;background:transparent;color:inherit;opacity:.5;cursor:pointer;font-size:12px;line-height:1;padding:2px 4px}.message-delete:hover{opacity:1}.compose{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:12px}.compose textarea{min-height:40px;max-height:160px;resize:vertical;line-height:1.4}.message-text{white-space:pre-wrap;word-break:break-word}@media (max-width:900px){.chat-layout{grid-template-columns:1fr;height:auto}.rooms{display:flex;flex-wrap:wrap;gap:6px}.room{width:auto}}.contractPanelHeadV33{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.contractCountersV33{display:flex;gap:5px;flex-wrap:nowrap;overflow-x:auto}.contractCountersV33 span{border:1px solid var(--line);background:var(--hover-bg);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;white-space:nowrap;flex:0 0 auto}.contractSearchV33{width:100%;margin:0 0 12px}.contractListV33{display:block;max-height:565px;overflow-y:auto;overflow-x:hidden;padding-right:6px}.contractItemV33{border:1px solid var(--line);background:var(--card);border-radius:16px;margin-bottom:8px}.contractItemHeadV33{width:100%;border:0;background:var(--card);color:inherit;display:grid;grid-template-columns:minmax(180px,1fr) minmax(110px,auto) 30px;gap:12px;align-items:center;padding:11px 12px;min-height:54px;text-align:left;cursor:pointer}.contractItemHeadV33:hover{background:var(--hover-bg)}.contractItemHeadV33 b{display:block;font-size:13px}.contractItemHeadV33 small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.contractItemHeadV33 .amount{font-size:12px;font-weight:900;white-space:nowrap}.contractChevronV33{width:28px;height:28px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center}.contractChevronV33 svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:.18s}.contractItemV33.open .contractChevronV33 svg{transform:rotate(90deg)}.contractDetailsV33{padding:0 12px 13px;border-top:1px solid var(--line);background:#faf9f6}.contractLegendV33{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0 8px}.contractLegendV33 span{display:inline-flex;gap:5px;align-items:center;font-size:10px;color:var(--muted);font-weight:800}.contractLegendV33 i{width:9px;height:9px;border-radius:3px;display:block}.contractChartV33{display:grid;grid-template-columns:105px minmax(0,1fr) 116px;gap:6px 9px;align-items:center}.contractChartV33 label{color:var(--muted);font-size:11px;font-weight:800}.contractChartV33 .bar{height:8px;background:#f0efeb;border-radius:999px;overflow:hidden}.contractChartV33 .bar i{display:block;height:100%;border-radius:999px}.contractChartV33 strong{display:flex;justify-content:flex-end;gap:5px;white-space:nowrap;font-size:11px}.contractChartV33 strong em{font-style:normal;color:var(--muted);font-size:10px;font-weight:800}.contractC1{background:#111827}.contractC2{background:#444}.contractC3{background:#777}.contractC4{background:#999}.contractC5{background:#bbb}.contractC6{background:#ddd}.contractEmptyV33{padding:24px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);text-align:center;font-size:13px}.contractPaginationV37{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;margin-top:10px;border-top:1px solid var(--line)}.contractPaginationV37 span{color:var(--muted);font-size:11px;font-weight:800}.contractPaginationV37 div{display:flex;gap:5px}.contractPaginationV37 button{min-width:28px;height:28px;border:1px solid var(--line);background:var(--card);color:inherit;border-radius:9px;font-size:11px;font-weight:900;cursor:pointer}.contractPaginationV37 button.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.contractPaginationV37 button:disabled{opacity:.35;cursor:default}.profitPanelHeadV32{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.averageProfitV32{display:flex;flex-direction:column;align-items:flex-end}.averageProfitV32 small{color:var(--muted);font-size:11px;font-weight:800}.averageProfitV32 strong{margin-top:3px;font-size:24px}.averageProfitV32.orange strong{color:#b46b00}.averageProfitV32.green strong{color:#176b42}.averageProfitV32.red strong{color:#a12b2b}.profitSearchV34{width:100%;margin:0 0 12px}.profitGraphicV34{display:grid;gap:9px}.profitProjectV34{border:1px solid var(--line);background:var(--card);border-radius:15px;padding:10px}.profitProjectHeadV34{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.profitProjectHeadV34 b{font-size:13px}.profitProjectHeadV34 small{display:block;color:var(--muted);font-size:11px}.profitProjectHeadV34 .chip{border:1px solid var(--line);background:var(--hover-bg);border-radius:999px;padding:4px 9px;font-size:10px;font-weight:800;white-space:nowrap}.profitTripleV34{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;align-items:stretch}.profitSegmentV34{border-radius:12px;padding:9px;min-height:72px;display:flex;flex-direction:column;justify-content:space-between}.profitSegmentV34 span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.profitSegmentV34 strong{font-size:19px}.profitSegmentV34.planned{background:var(--accent);color:var(--accent-contrast)}.profitSegmentV34.actual{background:var(--hover-bg);color:var(--text)}.profitSegmentV34.gap.pos{background:#e5f4e8;color:#21643e}.profitSegmentV34.gap.mid{background:#fff0d6;color:#9a6500}.profitSegmentV34.gap.neg{background:#fde7e5;color:#9d302b}@media (max-width:900px){.profitTripleV34{grid-template-columns:1fr}.contractItemHeadV33{grid-template-columns:minmax(0,1fr) 30px}.contractItemHeadV33 .amount{grid-column:1;grid-row:2}.contractChevronV33{grid-column:2;grid-row:1/span 2}}.note-compose{display:grid;gap:10px}.note-compose textarea{min-height:80px;resize:vertical}.note-list{display:grid;gap:12px}.note-item{padding:14px 16px}.note-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}.note-head b{display:block;font-size:13px}.note-head small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.note-text{margin:0;white-space:pre-wrap;font-size:13px;line-height:1.5;color:var(--muted)}.doc-list{display:grid;gap:12px}.doc-category-head,.doc-category-toggle{display:flex;align-items:center;gap:10px;margin-bottom:10px}.doc-category-toggle{width:100%;border:0;background:transparent;padding:0;cursor:pointer;text-align:left;font:inherit}.doc-chevron{display:inline-block;font-size:14px;color:var(--muted);transition:transform .18s}.doc-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.doc-file{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fafafa;color:#1f2933;text-decoration:none;min-width:0}.doc-file:hover{background:var(--hover-bg);border-color:var(--field-border)}.doc-file-icon{flex-shrink:0;width:20px;height:20px;fill:none;stroke:var(--danger-text);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.doc-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650}.doc-file-size{flex-shrink:0;font-size:11px;color:var(--muted)}.activity-list{display:flex;flex-direction:column;gap:10px}.activity-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.activity-row-main{flex:1;min-width:0;font-size:13px;color:var(--muted)}.activity-entity{font-weight:700;color:var(--text)}.activity-details{margin-top:4px}.activity-date,.activity-details{font-size:12px;color:var(--muted)}.activity-date{white-space:nowrap}.activity-global{background:var(--disabled-bg);color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.activity-global,.activity-project{margin-left:8px;padding:1px 8px;border-radius:999px;font-size:10px;vertical-align:middle}.activity-project{border:1px solid var(--line);color:var(--text);font-weight:700;letter-spacing:.02em;white-space:nowrap}.trash-actions{display:flex;gap:6px;flex-wrap:wrap}.nav-badge{margin-left:auto;width:8px;height:8px;border-radius:50%;background:#dc2626;flex-shrink:0}.nav.active .nav-badge,.nav:hover .nav-badge{background:var(--accent-contrast)}.room-badge{display:inline-block;margin-left:7px;width:8px;height:8px;border-radius:50%;background:#dc2626;vertical-align:middle}.room.active .room-badge{background:var(--accent-contrast)}.login-status{margin-left:8px;padding:1px 8px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.login-status.ok{background:#ecfdf5;color:#047857}.login-status.fail{background:#fef2f2;color:#b91c1c}.hover\:border-dark:hover{border-color:var(--accent)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-dark:focus{--tw-ring-color:var(--accent)}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}