:root{--brand-primary: #1f5d45;--brand-accent: #8a5f1f;--color-background-primary: #ffffff;--color-background-secondary: #f7f7f8;--color-background-info: color-mix(in srgb, var(--brand-primary) 10%, white);--color-border-tertiary: #e6e6ea;--color-border-secondary: #cfd6e3;--color-border-info: color-mix(in srgb, var(--brand-primary) 38%, white);--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-info: var(--brand-primary);--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);background:var(--color-background-secondary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased}button{font-family:inherit}input,select,textarea,button{outline:none}input,select,textarea{border-radius:8px}@media (max-width:720px){.sidebar-hidden{display:none}}:focus-visible{outline:3px solid var(--color-text-info);outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px #0b5fff1f;border-color:var(--color-border-info)}button,input,select,textarea{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}button{border-radius:999px}button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.6;transform:none}.app-shell{display:flex;height:100%;min-height:100vh;min-height:100dvh;overflow:hidden}.app-sidebar{width:240px;background:var(--color-background-primary);border-right:.5px solid var(--color-border-tertiary);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;transition:transform .2s ease,box-shadow .2s ease}.app-sidebar.open{transform:translate(0);box-shadow:0 24px 70px #0f172a1f}.app-sidebar-overlay{display:none}.sidebar-module-nav{border-top:.5px solid var(--color-border-tertiary)}.app-header{display:flex;align-items:center;gap:10px;padding:14px 24px;border-bottom:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);position:relative;z-index:1}.app-header-left{display:flex;align-items:center;gap:12px;min-width:0}.app-header .menu-toggle{display:none;border:none;background:none;color:var(--color-text-primary);font-size:20px;cursor:pointer;padding:4px}.app-header .module-title{font-weight:500;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32vw}.company-home-button{display:none;border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);border-radius:999px;padding:6px 12px;align-items:center;gap:10px;cursor:pointer;color:var(--color-text-primary)}.company-home-button:hover{background:var(--color-background-primary);border-color:var(--color-border-secondary)}.company-home-logo{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--color-background-info);font-size:15px;flex-shrink:0}.company-home-text{display:grid;line-height:1.1;text-align:left}.company-home-name{font-size:13px;font-weight:700;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-home-subtitle{font-size:11px;color:var(--color-text-secondary)}.app-main{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.app-assistant-annuaire{position:relative;background:var(--color-background-primary);border-bottom:.5px solid var(--color-border-tertiary);padding:12px 20px 20px;overflow:hidden;transition:opacity .18s ease,transform .18s ease,max-height .22s ease,padding .22s ease;will-change:opacity,transform,max-height}.app-assistant-annuaire-fade{position:absolute;left:0;right:0;bottom:0;height:32px;background:linear-gradient(to bottom,rgba(255,255,255,0),var(--color-background-primary));pointer-events:none}.app-content{flex:1;min-height:0;overflow-y:auto;padding:24px}.module-button{width:100%;display:flex;align-items:center;gap:10px;padding:9px 16px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:14px;text-align:left;transition:background .18s ease,color .18s ease}.module-button:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.module-button.active{background:var(--color-background-info);color:var(--color-text-info);font-weight:600}.card-panel{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:12px}.panel-padding{padding:20px}.app-shell.density-compact .app-content{padding:14px}.app-shell.density-compact .module-button{padding:7px 14px;font-size:13px}.app-shell.density-compact .app-header{padding:10px 16px}.app-shell.density-comfortable .app-content{padding:24px}@media (max-width: 960px){.app-shell{flex-direction:column}.app-sidebar{position:fixed;top:0;left:0;bottom:0;transform:translate(-110%);z-index:20;width:260px}.app-sidebar.open{transform:translate(0)}.app-sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a47;z-index:15}.app-sidebar .sidebar-module-nav{order:1;flex:1 0 auto;min-height:44vh;max-height:none;overflow:auto;border-top:none;border-bottom:.5px solid var(--color-border-tertiary)}.app-sidebar .sidebar-assistant-panel,.app-sidebar .sidebar-directory-panel{display:none}.app-header .menu-toggle,.company-home-button{display:inline-flex}.company-home-name{max-width:120px}.app-header{padding:14px 16px}.app-assistant-annuaire{padding:12px 16px 18px}.app-content{padding:18px}}@media (max-width: 720px){.company-home-button{padding:6px 10px;gap:8px}.company-home-subtitle{display:none}.app-header .module-title{max-width:36vw;font-size:14px}.app-content,.panel-padding{padding:16px}button,input,select,textarea{min-height:44px}button{min-width:44px}.app-header{gap:8px;align-items:flex-start}.app-header .module-title{padding-top:7px}.app-assistant-annuaire{padding:10px 12px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:hover{transform:none}}@media (forced-colors: active){:focus-visible{outline:3px solid CanvasText}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#e0e0e6;border-radius:10px}.auth-page{--brand-primary: #1f5d45;--brand-accent: #8a5f1f;--brand-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.auth-visual{min-width:0;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;padding:64px 56px;color:#fff;background:radial-gradient(circle at 18% 4%,color-mix(in srgb,var(--brand-accent) 32%,transparent) 0%,transparent 46%),linear-gradient(165deg,color-mix(in srgb,var(--brand-primary) 90%,black) 0%,var(--brand-primary) 55%,color-mix(in srgb,var(--brand-primary) 78%,black) 100%)}.auth-grove{position:absolute;left:0;right:0;bottom:0;width:100%;height:58%}.grove-primary{fill:color-mix(in srgb,var(--brand-primary) 40%,white)}.grove-accent{fill:color-mix(in srgb,var(--brand-accent) 80%,white)}.auth-visual-content{position:relative;z-index:1;max-width:380px}.auth-visual-brand{font-family:var(--brand-serif);font-size:28px;font-weight:600;letter-spacing:-.01em;margin:20px 0 8px;color:#fff}.auth-visual-tagline{font-size:15px;line-height:1.55;color:#ffffffdb;max-width:30ch}.auth-panel{min-width:0;width:100%;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--color-background-secondary);overflow-x:hidden}.auth-card{width:min(380px,100%);max-width:100%;min-width:0;box-sizing:border-box}.auth-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;min-width:0}.auth-mobile-mark{display:none;align-items:center;gap:8px}.auth-mobile-brand{font-family:var(--brand-serif);font-weight:600;font-size:15px;color:var(--color-text-primary)}.auth-lang-select{border-radius:999px;border:.5px solid var(--color-border-tertiary);padding:4px 8px;background:var(--color-background-primary);color:var(--color-text-primary);cursor:pointer;font-size:12px}.auth-title{margin:0;font-family:var(--brand-serif);font-size:26px;line-height:1.15;font-weight:600;color:var(--color-text-primary)}.auth-subtitle{margin:8px 0 22px;color:var(--color-text-secondary);font-size:14px}.auth-form{display:grid;gap:8px;min-width:0}.auth-label{font-size:13px;color:var(--color-text-secondary)}.auth-label-row{display:flex;justify-content:space-between;align-items:baseline}.auth-input{width:100%;box-sizing:border-box;min-width:0;padding:11px 12px;border:.5px solid var(--color-border-secondary);background:var(--color-background-primary);color:var(--color-text-primary);font-size:14px;border-radius:10px}.auth-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 14%,transparent)}.auth-submit{width:100%;box-sizing:border-box;margin-top:10px;border:none;background:var(--brand-primary);color:#fff;padding:11px 14px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600}.auth-submit:hover{background:color-mix(in srgb,var(--brand-primary) 88%,black)}.auth-inline-link{border:none;background:none;color:var(--brand-primary);font-size:12px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.auth-link-button{border:none;background:none;color:var(--color-text-secondary);font-size:12.5px;cursor:pointer;margin-top:10px;text-align:left;padding:0;justify-self:start}.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:var(--color-text-secondary);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--color-border-tertiary);flex:1}.auth-sso-list{display:grid;grid-template-columns:1fr;gap:8px;min-width:0}.auth-sso-button{width:100%;box-sizing:border-box;min-width:0;white-space:normal;border:.5px solid var(--color-border-secondary);background:var(--color-background-primary);padding:10px 12px;border-radius:10px;cursor:pointer;font-size:13px;color:var(--color-text-primary)}.auth-sso-button:hover{border-color:var(--brand-primary)}.auth-error{background:#fff1f1;border:.5px solid #f4caca;color:#911e1e;padding:10px;border-radius:10px;font-size:13px;margin-top:4px}.auth-confirmation{margin:4px 0 16px;padding:14px;border-radius:10px;font-size:13.5px;line-height:1.55;background:color-mix(in srgb,var(--brand-primary) 10%,white);border:.5px solid color-mix(in srgb,var(--brand-primary) 25%,transparent);color:color-mix(in srgb,var(--brand-primary) 70%,black)}.auth-hint{margin-top:16px;padding:10px;border-radius:10px;background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);font-size:12px;color:var(--color-text-secondary)}.auth-note{margin-top:8px;font-size:12px;color:var(--color-text-secondary)}.auth-footer{margin-top:20px;padding-top:14px;border-top:.5px solid var(--color-border-tertiary);font-size:11px;color:var(--color-text-secondary);text-align:center}@media (max-width: 960px){.auth-page{display:block}.auth-visual{display:none}.auth-mobile-mark{display:flex}.auth-panel{width:100%;max-width:100vw;box-sizing:border-box;padding:24px}}.planning-cell-plus{opacity:0;transition:opacity .12s ease;color:var(--color-text-info);font-weight:700}.planning-cell--clickable:hover{filter:brightness(.97)}.planning-cell--clickable:hover .planning-cell-plus{opacity:1}
