@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f4f7f2;color:#12251d}a{color:#1f6b4a}a:hover{color:#0f3d2c}.auth-card{max-width:24rem;margin:2.5rem auto;padding:2rem;border:1px solid #e0e0e0;border-radius:8px}.auth-card h2{margin:0 0 1rem;font-size:1.25rem}.auth-card h3{margin:1.5rem 0 .5rem;font-size:1rem}.auth-card.wide{max-width:40rem}.field{display:block;margin-bottom:1rem}.field span{display:block;margin-bottom:.25rem;font-size:.85rem;color:#444}.field input,.field select{width:100%;padding:.5rem .625rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem}.field input:focus,.field select:focus{outline:2px solid #2f8a5f;outline-offset:1px;border-color:#2f8a5f}button{padding:.55rem 1rem;border:none;border-radius:4px;background:#1f6b4a;color:#fff;font-size:.95rem;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.secondary{background:#eceff1;color:#1a1a1a}.account-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.form-error{color:#c62828;font-size:.875rem;margin:0 0 1rem}.form-success{color:#2e7d32;font-size:.875rem;margin:0 0 1rem}.auth-link{margin-top:1rem;font-size:.875rem}.auth-link a{color:#1f6b4a;text-decoration:none}.users-shell{display:flex;min-height:100vh;background:#f4f7f2}app-side-nav{display:contents}.side-nav{position:sticky;top:0;align-self:flex-start;width:248px;height:100vh;flex-shrink:0;background:#0e2a20;color:#dcebdd;display:flex;flex-direction:column;gap:36px;padding:28px 20px;box-sizing:border-box;transition:width .18s ease,padding .18s ease}.side-top{display:flex;align-items:center;gap:12px}.side-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;border:none;border-radius:8px;background:#2f8a5f;color:#f4f7f2;cursor:pointer}.side-toggle:hover{background:#36996a}.side-toggle:focus-visible{outline:2px solid #7cc49a;outline-offset:1px}.side-brand{display:flex;align-items:center;gap:12px}.side-brand .side-logo{width:36px;height:36px;flex-shrink:0;border-radius:8px;background:#2f8a5f;display:flex;align-items:center;justify-content:center}.side-brand .side-brand-title{display:block;white-space:nowrap;font-family:"Source Serif 4",Georgia,serif;font-size:18px;font-weight:600;color:#f4f7f2}.side-brand .side-brand-sub{display:block;font-size:12px;color:#9dbfa8}.side-menu{display:flex;flex-direction:column;gap:4px}.side-menu .side-section{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#7fa38c;padding:0 12px 8px}.side-menu .side-section.spaced{padding-top:24px}.side-menu .side-link{position:relative;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:8px;color:#c9ddcd;text-decoration:none;font-size:14px}.side-menu .side-link:hover{color:#f4f7f2;background:#163a2b}.side-menu .side-link.active{color:#f4f7f2;background:#1d4a37;font-weight:500;box-shadow:inset 3px 0 #7cc49a}.side-profile{margin-top:auto;display:flex;align-items:center;gap:12px;padding:14px 12px;border-top:1px solid #1d4a37}.side-profile .side-avatar{position:relative;text-decoration:none;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#7cc49a;color:#0e2a20;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.side-profile .side-profile-text{display:flex;flex-direction:column;gap:2px;flex-grow:1;min-width:0}.side-profile .side-profile-name{font-size:14px;font-weight:500;color:#f4f7f2}.side-profile .side-profile-role{font-size:12px;color:#9dbfa8}.side-profile .side-profile-link{color:#9dbfa8;display:flex;width:32px;height:32px;align-items:center;justify-content:center}.side-nav.collapsed{width:76px;padding:28px 14px}.side-nav.collapsed .side-top{justify-content:center}.side-nav.collapsed .side-brand,.side-nav.collapsed .side-label,.side-nav.collapsed .side-profile-text,.side-nav.collapsed .side-profile-link{display:none}.side-nav.collapsed .side-menu .side-section{height:1px;margin:6px 8px;padding:0;overflow:hidden;font-size:0;background:#1d4a37}.side-nav.collapsed .side-menu .side-section.spaced{margin-top:18px}.side-nav.collapsed .side-menu .side-link{justify-content:center;padding:11px 0}.side-nav.collapsed .side-profile{justify-content:center;padding:14px 0 0}.side-nav.collapsed [data-tip]:hover:after,.side-nav.collapsed [data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%);z-index:50;padding:6px 10px;border-radius:6px;background:#12251d;box-shadow:0 4px 14px #0e2a2040;color:#f4f7f2;font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;pointer-events:none}.users-main{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:24px;padding:32px 40px;box-sizing:border-box}.users-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.users-heading{display:flex;flex-direction:column;gap:6px}.users-heading .breadcrumb{font-size:13px;color:#4f6b5b}.users-heading h1{margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:34px;font-weight:600;color:#0e2a20;letter-spacing:-.01em}.users-heading p{margin:0;font-size:14px;color:#4f6b5b}.users-stats{display:flex;gap:12px}.users-stats .stat-card{display:flex;flex-direction:column;gap:2px;padding:12px 20px;min-width:96px;background:#fff;border:1px solid #dce6dc;border-radius:10px}.users-stats .stat-label{font-size:12px;color:#4f6b5b}.users-stats .stat-value{font-size:24px;font-weight:600;color:#0e2a20}.users-stats .stat-value.accent{color:#1f6b4a}.users-content{display:flex;gap:24px;align-items:flex-start}.users-card{flex-grow:1;min-width:0;background:#fff;border:1px solid #dce6dc;border-radius:12px;overflow:hidden}.users-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid #e6eee6}.users-card-head h2{margin:0;font-size:16px;font-weight:600;color:#0e2a20}.users-search{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;width:240px;box-sizing:border-box;border:1px solid #cfdcd0;border-radius:8px;background:#f8fbf7;color:#4f6b5b}.users-search input{border:none;outline:none;background:transparent;width:100%;font-size:14px;color:#12251d}.users-grid-head,.users-row{display:grid;grid-template-columns:2.1fr 2.2fr .9fr .9fr 1.3fr;align-items:center}.users-grid-head{padding:10px 24px;background:#eef4ee;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#3e5a4a}.users-grid-head .actions-col{text-align:right}.users-row{padding:0 24px;min-height:61px;border-bottom:1px solid #edf2ed;font-size:14px}.users-row.inactive{background:#fafbf9}.user-identity{display:flex;align-items:center;gap:12px;min-width:0}.user-identity .user-avatar{width:34px;height:34px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.user-identity .user-name{display:block;font-weight:500;color:#12251d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-identity .user-handle{display:block;font-family:IBM Plex Mono,monospace;font-size:12px;color:#5a7465}.user-email{color:#2e4639;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:12px}.role-pill{display:inline-flex;padding:3px 10px;border-radius:999px;background:#e3efe5;color:#1f4d38;font-size:12px;font-weight:500}.role-pill.admin{background:#0e2a20;color:#e8f3ea}.user-status{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:#1f6b4a}.user-status .status-dot{width:8px;height:8px;border-radius:50%;background:#2f8a5f;box-shadow:0 0 0 3px #d5ebdb}.user-status.off{color:#8a9a90}.user-status.off .status-dot{background:#b5c4b8;box-shadow:0 0 0 3px #e4ebe5}.row-actions{display:flex;justify-content:flex-end;gap:8px}.row-actions .btn-ghost{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid #cfdcd0;border-radius:8px;background:#fff;color:#1f4d38;font-size:13px;font-weight:500;cursor:pointer}.row-actions .btn-ghost.danger{border-color:#e5cfcb;color:#9b3b2e}.row-actions .btn-ghost:disabled{opacity:.5;cursor:default}.row-actions .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid #e5cfcb;border-radius:8px;background:#fff;color:#9b3b2e}.users-card-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;font-size:13px;color:#4f6b5b}.users-aside{width:340px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}.create-form{background:#fff;border:1px solid #dce6dc;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:18px}.create-form h2{margin:0 0 6px;font-size:16px;font-weight:600;color:#0e2a20}.create-form p{margin:0;font-size:13px;line-height:1.5;color:#4f6b5b}.create-form .form-field{display:flex;flex-direction:column;gap:6px}.create-form .form-field label{font-size:13px;font-weight:500;color:#1f3a2d}.create-form .form-field input,.create-form .form-field select{height:42px;padding:0 12px;border:1px solid #cfdcd0;border-radius:8px;font-size:14px;background:#fff;color:#12251d}.create-form .btn-primary{height:44px;border-radius:8px;background:#1f6b4a;color:#fff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.info-box{display:flex;gap:12px;padding:18px 20px;background:#e3efe5;border:1px solid #c6ddcb;border-radius:12px}.info-box svg{flex-shrink:0;margin-top:1px}.info-box p{margin:0;font-size:13px;line-height:1.5;color:#1f4d38}@media(max-width:60rem){.users-content{flex-direction:column;align-items:stretch}.users-aside{width:100%}}@media(max-width:48rem){.users-main{padding:20px 16px}}.login-shell{display:flex;min-height:100vh;background:#f4f7f2}.login-brand{position:relative;width:44%;max-width:640px;flex-shrink:0;overflow:hidden;background:#0e2a20;color:#dcebdd;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:56px 64px;box-sizing:border-box}.login-brand .login-brand-decor{position:absolute;right:0;bottom:0;max-width:100%;pointer-events:none}.login-brand .login-brand-logo,.login-brand .login-brand-body,.login-brand .login-brand-foot{position:relative}.login-brand-logo{display:flex;align-items:center;gap:12px}.login-brand-logo .brand-mark{width:40px;height:40px;flex-shrink:0;border-radius:9px;background:#2f8a5f;display:flex;align-items:center;justify-content:center}.login-brand-logo .brand-text{display:flex;flex-direction:column;gap:2px}.login-brand-logo .brand-title{font-family:"Source Serif 4",Georgia,serif;font-size:20px;font-weight:600;color:#f4f7f2}.login-brand-logo .brand-sub{font-size:12px;color:#9dbfa8}.login-brand-body{display:flex;flex-direction:column;gap:28px;max-width:460px}.login-brand-body h1{margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:44px;line-height:1.12;font-weight:600;color:#f4f7f2;letter-spacing:-.01em}.login-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.login-features li{display:flex;align-items:center;gap:12px;font-size:15px;color:#c9ddcd}.login-features .feature-icon{width:32px;height:32px;flex-shrink:0;border-radius:8px;background:#1d4a37;color:#7cc49a;display:flex;align-items:center;justify-content:center}.login-brand-foot{font-size:12px;color:#7fa38c}.login-main{flex-grow:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:48px;box-sizing:border-box}.login-panel{width:420px;max-width:100%;display:flex;flex-direction:column;gap:20px}.login-form{background:#fff;border:1px solid #dce6dc;border-radius:14px;padding:40px;display:flex;flex-direction:column;gap:22px;box-shadow:0 1px 2px #0e2a200a,0 12px 32px #0e2a200f}.login-heading{display:flex;flex-direction:column;gap:8px}.login-heading h2{margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:30px;font-weight:600;color:#0e2a20}.login-heading p{margin:0;font-size:14px;color:#4f6b5b}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:13px;font-weight:500;color:#1f3a2d}.login-field .login-label-row{display:flex;justify-content:space-between;align-items:baseline}.login-field .login-label-row a{font-size:13px;font-weight:500;text-decoration:none}.login-field.with-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:12px}.login-field.with-link label{grid-row:1;grid-column:1}.login-field.with-link .login-input{grid-row:2;grid-column:1/-1}.login-field.with-link .login-forgot{grid-row:1;grid-column:2;font-size:13px;font-weight:500;text-decoration:none}.login-input{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border:1px solid #cfdcd0;border-radius:8px;background:#fff;color:#5a7465}.login-input:focus-within{border-color:#2f8a5f;box-shadow:0 0 0 3px #2f8a5f26}.login-input input{flex-grow:1;min-width:0;border:none;background:transparent;font-size:15px;color:#12251d}.login-input input:focus{outline:none;border:none}.login-input .login-eye{width:36px;height:36px;flex-shrink:0;padding:0;border:none;background:transparent;color:#5a7465;display:flex;align-items:center;justify-content:center;border-radius:6px}.login-submit{height:48px;border-radius:8px;background:#1f6b4a;color:#fff;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.login-submit.secondary{border:1px solid #1f6b4a;background:#fff;color:#1f6b4a}.login-channel-label{margin:0 0 -6px;font-size:14px;font-weight:500;color:#1f3a2d}.login-channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.login-note{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;background:#e3efe5;border:1px solid #c6ddcb;border-radius:12px}.login-note svg{flex-shrink:0;margin-top:1px}.login-note p{margin:0;font-size:13px;line-height:1.5;color:#1f4d38}@media(max-width:56rem){.login-brand{display:none}}.account-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px;box-sizing:border-box}.account-actions{display:flex;flex-direction:column;gap:12px}.account-secondary{height:48px;border-radius:8px;background:#fff;color:#1f3a2d;border:1px solid #cfdcd0;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.account-secondary:hover{background:#f0f5f0;border-color:#b9cdbd}.report-grid-head,.report-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,.8fr) 300px;gap:12px;align-items:center}.report-grid-head{padding:10px 24px;background:#eef4ee;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#3e5a4a}.report-grid-head .actions-col{text-align:right}.report-row{padding:0 24px;min-height:61px;border-bottom:1px solid #edf2ed;font-size:14px}.report-activity{display:flex;flex-direction:column;gap:2px;min-width:0}.report-activity .report-name{font-weight:600;color:#12251d;text-decoration:none}.report-activity .report-name:hover{color:#1f6b4a;text-decoration:underline}.report-activity .report-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-activity .report-by{font-family:IBM Plex Mono,monospace;font-size:12px;color:#5a7465}.report-window{display:flex;align-items:center;gap:6px;color:#2e4639;font-size:13px}.report-window .report-window-sep{color:#8a9a90}.report-participants{display:flex;flex-direction:column;gap:2px;color:#2e4639;font-size:13px}.report-participants .report-submitted{font-size:12px;color:#1f6b4a}.report-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;background:#e3efe5;color:#1f4d38}.report-status.draft{background:#eef1f0;color:#4f6b5b}.report-status.collecting{background:#dcefe1;color:#1f6b4a}.report-status.review{background:#e4ecfa;color:#2f4d8a}.report-status.changes{background:#fbeade;color:#9b5a2e}.report-status.corrected{background:#e9e3fa;color:#5a3e8a}.report-status.done{background:#0e2a20;color:#e8f3ea}.report-status.cancelled{background:#f3e4e1;color:#9b3b2e}.participant-picker{display:flex;flex-direction:column;max-height:220px;overflow-y:auto;border:1px solid #cfdcd0;border-radius:8px;background:#fff}.participant-option{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #edf2ed;cursor:pointer}.participant-option:last-child{border-bottom:none}.participant-option input{width:16px;height:16px;accent-color:#1f6b4a}.participant-option .participant-text{display:flex;flex-direction:column;min-width:0}.participant-option .participant-name{font-size:14px;font-weight:500;color:#12251d}.participant-option .participant-handle{font-family:IBM Plex Mono,monospace;font-size:12px;color:#5a7465}.participant-empty{margin:0;padding:14px 12px;font-size:13px;color:#4f6b5b}.activity-sections{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:20px}.activity-section{background:#fff;border:1px solid #dce6dc;border-radius:12px}.activity-section .form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.activity-section .form-field label{font-size:13px;font-weight:500;color:#1f3a2d}.activity-section .form-field .optional{font-weight:400;color:#6b8274}.activity-section input[type=text],.activity-section input[type=date],.activity-section input[type=time],.activity-section textarea{width:100%;height:42px;padding:0 12px;border:1px solid #cfdcd0;border-radius:8px;font:inherit;font-size:14px;background:#fff;color:#12251d}.activity-section input[type=text]:focus,.activity-section input[type=date]:focus,.activity-section input[type=time]:focus,.activity-section textarea:focus{outline:2px solid #9cc7ad;outline-offset:0;border-color:#1f6b4a}.activity-section input[type=text]::placeholder,.activity-section input[type=date]::placeholder,.activity-section input[type=time]::placeholder,.activity-section textarea::placeholder{color:#8a9a90}.activity-section textarea{height:auto;padding:10px 12px;font-family:IBM Plex Mono,monospace;font-size:13px;resize:vertical}.activity-section .form-error{margin:0}.activity-section-head{display:flex;align-items:flex-start;gap:14px;padding:20px 24px;border-bottom:1px solid #e6eee6}.activity-section-head h2{margin:2px 0;font-size:16px;font-weight:600;color:#0e2a20}.activity-section-head .head-count{font-size:13px;font-weight:400;color:#4f6b5b}.activity-section-head p{margin:0;font-size:13px;line-height:1.5;color:#4f6b5b}.activity-section-head .head-action{margin-left:auto;flex-shrink:0}.activity-section-head .head-links{display:flex;gap:8px}.step-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;margin-top:1px;border-radius:50%;background:#0e2a20;color:#f4f7f2;font-size:13px;font-weight:600}.activity-section-body{display:flex;flex-direction:column;gap:16px;padding:20px 24px 24px}.range-builder{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(124px,1fr) minmax(0,1.2fr) minmax(124px,1fr) auto;gap:10px;align-items:start;padding:16px}.range-builder .builder-actions{display:flex;flex-direction:column;gap:6px;margin-top:25px}.range-builder input[type=date],.range-builder input[type=time]{padding:0 10px}.range-builder{border:1px solid #dce6dc;border-radius:10px;background:#eef4ee}.btn-add-dates{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:42px;padding:0 14px;border:none;border-radius:8px;background:#1f6b4a;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-add-dates:hover:not(:disabled){background:#185a3e}.btn-add-dates:disabled{background:#dce6dc;color:#6b8274;cursor:default}.btn-outline{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid #cfdcd0;border-radius:8px;background:#fff;color:#1f3a2d;font:inherit;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.btn-outline:hover:not(:disabled),.btn-outline.active{border-color:#9cc7ad;background:#f4f8f3}.btn-outline:disabled{color:#8a9a90;cursor:default}.link-button{padding:0;border:none;background:none;color:#1f6b4a;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.link-button.with-icon{display:inline-flex;align-items:center;gap:6px}.link-button:hover{color:#0f3d2c}.edit-table{border:1px solid #dce6dc;border-radius:10px;overflow:hidden}.session-cols{grid-template-columns:minmax(96px,.8fr) minmax(132px,1fr) minmax(136px,1fr) minmax(132px,1fr) minmax(58px,.6fr) 108px;gap:8px}.project-cols{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) 36px}.edit-table-head,.edit-table-row{display:grid;gap:10px;align-items:center;padding:0 16px}.edit-table-head{padding-top:10px;padding-bottom:10px;background:#eef4ee;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#3e5a4a}.edit-table-head .align-end{text-align:right}.edit-table-row{min-height:57px;padding-top:8px;padding-bottom:8px;border-bottom:1px solid #edf2ed;font-size:14px}.edit-table-row:last-child{border-bottom:none}.edit-table-row input[type=text],.edit-table-row input[type=time]{height:40px}.edit-table-row input.strong{font-weight:500}.edit-table-row input.mono{font-family:IBM Plex Mono,monospace;font-size:13px}.edit-table-row input.compact,.edit-table-row input[type=time]{padding:0 8px;font-size:13px}.edit-table-row.invalid{background:#fdf7f5}.icon-input{position:relative}.icon-input svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#6b8274;pointer-events:none}.icon-input input[type=text]{padding-left:32px}.edit-table-actions{display:flex;justify-content:flex-end;gap:4px}.btn-remove{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:#6b8274;cursor:pointer}.btn-remove:hover{border-color:#cfdcd0;background:#f4f8f3;color:#1f4d38}.btn-remove.danger:hover{border-color:#e5cfcb;background:#fdf5f3;color:#9b3b2e}.edit-table-foot{display:flex;align-items:center;padding:14px 16px;font-size:13px;color:#4f6b5b}.session-date{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-weight:500;color:#12251d}.time-cell{display:flex;align-items:center;gap:4px;min-width:0}.time-cell input[type=time]{min-width:0}.continue-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;padding:0;border:1px solid #dce6dc;border-radius:6px;background:#fff;color:#4f6b5b;cursor:pointer}.continue-toggle:hover{border-color:#1f6b4a;background:#eef6f0;color:#1f6b4a}.continue-toggle:focus-visible{outline:2px solid #1f6b4a}.continue-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;height:40px;padding:0 10px;border:1px dashed #1f6b4a;border-radius:8px;background:#eef6f0;color:#1f6b4a;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;cursor:pointer}.continue-chip:hover{background:#e3efe5}.continue-chip.static{cursor:default}.continue-chip.static:hover{background:#eef6f0}.continue-option{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;padding:3px 8px;border:1px solid transparent;border-radius:999px;background:transparent;color:#4f6b5b;font:inherit;font-size:12px;cursor:pointer}.continue-option:hover{border-color:#cfdcd0;background:#fff}.continue-option.on{border-color:#1f6b4a;background:#1f6b4a;color:#fff}.continue-date{font-size:13px;color:#4f6b5b}.continue-mark{color:#1f6b4a;font-size:10px}.session-hours{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}.session-hours .session-hours-value{font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:500;color:#12251d}.session-hours .session-hours-note{font-size:11px;color:#5a7465}.session-hours .session-hours-note.error{color:#9b3b2e}.session-hours .session-hours-note.linked{color:#1f6b4a;font-weight:500}.tag-pill{display:inline-flex;padding:2px 8px;border-radius:999px;background:#eef1f0;color:#4f6b5b;font-size:11px;font-weight:500}.tag-pill.dark{background:#0e2a20;color:#e8f3ea}.section-empty{margin:0;padding:22px;border:1px dashed #cfdcd0;border-radius:10px;font-size:13px;color:#4f6b5b;text-align:center}.paste-box{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid #dce6dc;border-radius:10px;background:#eef4ee}.paste-box label{font-size:13px;color:#1f3a2d}.paste-box .paste-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.paste-box .paste-count{font-size:13px;color:#1f6b4a;font-weight:500}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.person-card{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 12px;border:1px solid #dce6dc;border-radius:10px;background:#fff;font:inherit;text-align:left;cursor:pointer;transition:border-color .12s,background-color .12s}.person-card:hover{border-color:#9cc7ad}.person-card:focus-visible{outline:2px solid #1f6b4a;outline-offset:2px}.person-card .person-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#dcebdf;color:#1f4d38;font-size:12px;font-weight:600}.person-card .person-text{display:flex;flex-direction:column;min-width:0;flex-grow:1}.person-card .person-name{font-size:14px;font-weight:500;color:#12251d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-card .person-handle{font-family:IBM Plex Mono,monospace;font-size:12px;color:#5a7465}.person-card .person-check{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border:1.5px solid #b9c9bd;border-radius:50%;color:transparent}.person-card.selected{border-color:#1f6b4a;background:#eef6f0}.person-card.selected .person-check{border-color:#1f6b4a;background:#1f6b4a;color:#fff}.activity-aside{position:sticky;top:24px}.summary-card{display:flex;flex-direction:column;gap:18px;padding:24px;border-radius:12px;background:#0e2a20;color:#e8f3ea}.summary-card .summary-eyebrow{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#9dbfa8}.summary-card .summary-title{display:flex;flex-direction:column;gap:4px}.summary-card .summary-title h2{margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:22px;font-weight:600;line-height:1.25;color:#f4f7f2;overflow-wrap:anywhere}.summary-card .summary-title h2.placeholder{color:#6f9580}.summary-card .summary-title span{font-size:14px;color:#b9d3c1}.summary-card .summary-rows{display:flex;flex-direction:column;margin:0;border-top:1px solid #25453a}.summary-card .summary-rows div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #25453a;font-size:14px}.summary-card .summary-rows dt{color:#b9d3c1}.summary-card .summary-rows dd{margin:0;font-weight:600;color:#f4f7f2}.summary-card .summary-label{font-size:11px;color:#9dbfa8}.summary-card .summary-releases{display:flex;flex-direction:column;gap:6px}.summary-card .summary-release{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#e8f3ea}.summary-card .summary-release span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-card .summary-tag{flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:12px;color:#7fd1a1}.summary-card .summary-chips{display:flex;flex-wrap:wrap;gap:6px}.summary-card .summary-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:999px;background:#dcebdf;color:#0e2a20;font-size:12px;font-weight:500}.summary-card .summary-chip button{display:inline-flex;padding:2px;border:none;border-radius:50%;background:transparent;color:#1f4d38;cursor:pointer}.summary-card .summary-chip button:hover{background:#c3dbc9}.summary-card .summary-submit{height:46px;border:none;border-radius:8px;background:#2f8a5f;color:#fff;font:inherit;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.summary-card .summary-submit:hover:not(:disabled){background:#36996a}.summary-card .summary-submit:disabled{background:#25453a;color:#7f9d8b;cursor:not-allowed}.summary-card .summary-missing,.summary-card .summary-error{margin:-8px 0 0;font-size:13px;line-height:1.45;text-align:center;color:#b9d3c1}.summary-card .summary-error{color:#f3b6a8}.summary-card .summary-cancel{font-size:14px;text-align:center;color:#b9d3c1}.summary-card .summary-cancel:hover{color:#f4f7f2}.btn-new{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:8px;background:#1f6b4a;color:#fff;font-size:14px;font-weight:600;text-decoration:none}.btn-new:hover{background:#185a3e;color:#fff}.report-schedule{display:flex;flex-direction:column;gap:2px;font-size:13px;color:#2e4639}.report-schedule .report-schedule-sub{font-size:12px;color:#5a7465}.report-schedule .report-window-sep{color:#8a9a90}@media(max-width:60rem){.activity-aside{position:static}.range-builder{grid-template-columns:repeat(2,minmax(0,1fr))}.range-builder .builder-actions{grid-column:1/-1;margin-top:0}}@media(max-width:40rem){.activity-section-head{flex-wrap:wrap}.edit-table-head{display:none}.session-cols,.project-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}}.topbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.report-status .status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.btn-square{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid #cfdcd0;border-radius:8px;background:#fff;color:#1f4d38;cursor:pointer}.btn-square:hover{border-color:#1f6b4a;background:#eef6f0;color:#1f6b4a}.btn-square.danger{border-color:#e5cfcb;color:#9b3b2e}.btn-square.danger:hover{border-color:#9b3b2e;background:#fdf5f3}.btn-square:disabled{opacity:.5;cursor:default}.row-actions{align-items:center}.btn-outline.tall{height:40px;padding:0 14px;font-size:14px;text-decoration:none}.btn-outline.tall.danger{border-color:#e5cfcb;color:#9b3b2e}.btn-outline.tall.danger:hover{border-color:#9b3b2e;background:#fdf5f3}.detail-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-session-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.5fr)}.detail-project-cols{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr)}.detail-time{font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:400;color:#2e4639}.strong-text{font-weight:500;color:#12251d}.mono-text{font-family:IBM Plex Mono,monospace;font-size:13px;color:#2e4639}.person-card.static{cursor:default}.person-card.static:hover{border-color:#dce6dc}.person-card.static.selected:hover{border-color:#1f6b4a}.person-card.static .person-state{flex-shrink:0;padding:2px 8px;border-radius:999px;background:#eef1f0;color:#4f6b5b;font-size:11px;font-weight:500}.person-card.static .person-state.done{background:#1f6b4a;color:#fff}.summary-card .log-entry{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;border-bottom:1px solid #25453a}.summary-card .log-entry:last-child{border-bottom:none;padding-bottom:0}.summary-card .log-entry .log-label{font-size:14px;color:#f4f7f2}.summary-card .log-entry .log-meta{font-size:12px;color:#9dbfa8}.contribution-note{margin:0;padding:12px 16px;border:1px solid #c6ddcb;border-radius:10px;background:#e3efe5;color:#1f4d38;font-size:13px}.contribution-note.closed{border-color:#0e2a20;background:#0e2a20;color:#e8f3ea}.contribution-note.plain{padding:0;border:none;background:none;color:#4f6b5b}.session-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.session-pick{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce6dc;border-radius:10px;background:#fff;font:inherit;text-align:left;cursor:pointer}.session-pick:hover:not(:disabled){border-color:#9cc7ad}.session-pick:focus-visible{outline:2px solid #1f6b4a;outline-offset:2px}.session-pick:disabled,.session-pick.readonly{cursor:default}.session-pick .person-check{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border:1.5px solid #b9c9bd;border-radius:6px;color:transparent}.session-pick.selected{border-color:#1f6b4a;background:#eef6f0}.session-pick.selected .person-check{border-color:#1f6b4a;background:#1f6b4a;color:#fff}.session-pick .session-pick-text{display:flex;flex-direction:column;gap:2px;flex-grow:1;min-width:0}.session-pick .session-pick-day{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#12251d}.session-pick .session-pick-time{font-family:IBM Plex Mono,monospace;font-size:12px;color:#4f6b5b}.session-pick .session-pick-hours{flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;color:#12251d}.plus-day{margin-left:3px;padding:0 4px;border-radius:4px;background:#0e2a20;color:#e8f3ea;font-size:10px;vertical-align:1px}.project-card-head{display:flex;align-items:flex-end;gap:12px;padding:16px 20px;border-bottom:1px solid #e6eee6;background:#f8fbf7;border-radius:12px 12px 0 0}.project-card-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;margin-bottom:5px;border-radius:8px;background:#0e2a20;color:#9ed7b4}.project-card-select{flex-grow:1;min-width:0;max-width:420px}.project-card-select label{font-size:11px!important;font-weight:600!important;letter-spacing:.08em;text-transform:uppercase;color:#3e5a4a!important}.project-card-select select{height:42px;padding:0 12px;border:1px solid #cfdcd0;border-radius:8px;background:#fff;color:#12251d;font:inherit;font-size:15px;font-weight:500}.project-chips{display:flex;gap:6px;margin-bottom:10px;margin-left:auto}.chip-branch,.chip-tag{padding:3px 8px;border-radius:6px;font-family:IBM Plex Mono,monospace;font-size:12px}.chip-branch{background:#eef1f0;color:#3e5a4a}.chip-tag{background:#0e2a20;color:#9ed7b4}.project-card-head.readonly{align-items:center}.project-card-head.readonly .project-card-icon,.project-card-head.readonly .project-chips{margin-bottom:0}.project-card-name{flex-grow:1;min-width:0;font-size:15px;font-weight:500;color:#12251d}.project-card-name .muted{font-weight:400;color:#6b8274}.readonly-activities{display:flex;flex-direction:column;gap:6px;margin:0;padding-left:22px;color:#12251d;font-size:14px;line-height:1.45}.readonly-activities li::marker{font-family:IBM Plex Mono,monospace;font-size:12px;color:#6b8274}.project-card-head .btn-square{margin-bottom:3px}.project-card-head:not(:has(.project-chips)) .btn-square{margin-left:auto}.activities-label{font-size:13px;font-weight:500;color:#1f3a2d}.activities-label .optional{font-weight:400;color:#6b8274}.activity-line{display:flex;align-items:center;gap:10px}.activity-line .activity-num{display:inline-flex;justify-content:flex-end;width:22px;flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:12px;color:#6b8274}.activity-line.add .activity-num{color:#1f6b4a}.activity-line input[type=text]{flex-grow:1}.activity-line input.draft{border-style:dashed;background:#f8fbf7}.dev-verb-hint{margin:-2px 0 2px 32px;padding:8px 12px;border-left:3px solid #c9a227;border-radius:0 8px 8px 0;background:#fbf6e3;color:#5c4a0c;font-size:12.5px;line-height:1.45}.btn-add-line{height:40px;padding:0 16px;border:none;border-radius:8px;background:#1f6b4a;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.btn-add-line:disabled{background:#dce6dc;color:#6b8274;cursor:default}.add-card{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;border:1.5px dashed #9cc7ad;border-radius:12px;background:#f4f8f3;color:#1f6b4a;font:inherit;font-size:15px;font-weight:600;cursor:pointer}.add-card:hover{background:#eef6f0}.submit-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border:1px solid #dce6dc;border-radius:12px;background:#fff;font-size:13px;color:#4f6b5b}.submit-bar .submit-missing{display:block;margin-top:4px;color:#6b8274}.submit-bar .submit-missing.error{color:#9b3b2e}.submit-bar .submit-missing.soft{color:#8a6d0f}.btn-submit{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;height:46px;padding:0 22px;border:none;border-radius:8px;background:#1f6b4a;color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer}.btn-submit:hover:not(:disabled){background:#185a3e}.btn-submit:disabled{background:#dce6dc;color:#6b8274;cursor:not-allowed}.details-card{background:#fff;border:1px solid #dce6dc;border-radius:12px}.details-card .details-block{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border-bottom:1px solid #e6eee6}.details-card .details-block:last-child{border-bottom:none}.details-card .details-eyebrow-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.details-card .details-eyebrow{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#3e5a4a}.details-card h2{margin:4px 0 0;font-family:"Source Serif 4",Georgia,serif;font-size:21px;font-weight:600;color:#0e2a20}.details-card .details-by{font-size:12px;color:#5a7465}.details-card .details-title{font-size:13px;font-weight:600;color:#1f3a2d}.details-card .details-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#12251d}.details-card .details-row>span:first-child{display:flex;align-items:center;gap:6px;min-width:0}.details-card .details-row .muted{color:#5a7465}.details-card .details-mono{flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:12px;color:#2e4639}.details-card .details-mono.accent{color:#1f6b4a}.details-card .details-chips{display:flex;flex-wrap:wrap;gap:6px}.details-card .details-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:#e3efe5;color:#1f4d38;font-size:12px;font-weight:500}.details-card .details-chip.you{background:#0e2a20;color:#f4f7f2}.row-actions .btn-ghost.contribute{border-color:#1f6b4a;background:#1f6b4a;color:#fff;text-decoration:none}.row-actions .btn-ghost.contribute:hover{background:#185a3e;color:#fff}.row-actions .btn-ghost.contribute.done{border-color:#1f6b4a;background:#eef6f0;color:#1f6b4a}.review-shell{min-height:100vh;background:#f4f7f2}.review-top{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:#0e2a20;color:#f4f7f2}.review-top .review-brand{display:inline-flex;align-items:center;gap:10px;font-family:"Source Serif 4",Georgia,serif;font-size:18px;font-weight:600}.review-top .review-logo{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#2f8a5f}.review-top .review-tag{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#9dbfa8}.review-main{max-width:1200px;margin:0 auto;padding:28px 32px 48px}.review-heading{margin-bottom:20px}.review-heading h1{margin:0 0 6px;font-family:"Source Serif 4",Georgia,serif;font-size:30px;font-weight:600;color:#0e2a20}.review-heading p{margin:0;font-size:14px;color:#4f6b5b}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.review-card{background:#fff;border:1px solid #dce6dc;border-radius:12px;padding:20px}.review-muted{color:#4f6b5b}.review-state{max-width:560px;margin:40px auto;text-align:center}.review-state h1{margin:0 0 8px;font-family:"Source Serif 4",Georgia,serif;font-size:26px;color:#0e2a20}.review-state p{margin:0;color:#2e4639;line-height:1.5}.review-label{display:block;margin-bottom:10px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#3e5a4a}.review-preview iframe{display:block;width:100%;border:1px solid #edf2ed;border-radius:8px;background:#fff}.review-decision{position:sticky;top:20px;display:flex;flex-direction:column;gap:14px}.review-decision p{margin:0;font-size:14px;line-height:1.5;color:#2e4639}.review-decision textarea{width:100%;padding:10px 12px;border:1px solid #cfdcd0;border-radius:8px;font:inherit;font-size:14px;resize:vertical}.review-tabs{display:flex;padding:4px;border-radius:10px;background:#eef4ee}.review-tabs button{flex:1;height:36px;border:none;border-radius:8px;background:transparent;color:#3e5a4a;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.review-tabs button.active{background:#fff;color:#0e2a20;box-shadow:0 1px 3px #0e2a201f}.review-people{display:flex;flex-direction:column;gap:8px}.review-person{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce6dc;border-radius:8px;font-size:14px;color:#12251d;cursor:pointer}.review-person input{width:16px;height:16px;accent-color:#9b5a2e}.review-person.selected{border-color:#9b5a2e;background:#fbf3ec}.review-note-label{font-size:13px;font-weight:500;color:#1f3a2d}.review-note-label span{font-weight:400;color:#6b8274}.review-primary{height:46px;border:none;border-radius:8px;background:#1f6b4a;color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer}.review-primary:hover:not(:disabled){background:#185a3e}.review-primary.warn{background:#9b5a2e}.review-primary.warn:hover:not(:disabled){background:#844b25}.review-primary:disabled{background:#dce6dc;color:#6b8274;cursor:not-allowed}@media(max-width:60rem){.review-layout{grid-template-columns:1fr}.review-decision{position:static}}.changes-card{border-color:#e8c9ad;background:#fffaf5}.changes-note{margin:0;padding:10px 14px;border-left:3px solid #9b5a2e;background:#fbf3ec;color:#5c3a1c;font-size:14px;font-style:italic}.rewrite-banner{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #e8c9ad;border-radius:10px;background:#fbf3ec;color:#5c3a1c;font-size:14px}.rewrite-banner.done{border-color:#c6ddcb;background:#e3efe5;color:#1f4d38}.settings-banner{margin:0;padding:12px 16px;border:1px solid #e8d9a8;border-radius:10px;background:#fbf6e6;color:#5c4a1c;font-size:13px}.settings-row{display:flex;gap:16px;flex-wrap:wrap}.settings-row .grow{flex:1 1 260px}.settings-row .narrow{flex:0 0 170px}.field-hint{font-size:12px;color:#6b8274}.field-error{font-size:12px;color:#9b3b2e}.email-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:6px 8px;border:1px solid #cfdcd0;border-radius:8px;background:#fff}.email-chips:focus-within{outline:2px solid #9cc7ad;border-color:#1f6b4a}.email-chips input[type=text]{flex:1 1 200px;min-width:160px;height:30px;padding:0 6px;border:none;outline:none}.email-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 10px;border-radius:999px;background:#e3efe5;color:#1f4d38;font-size:13px}.email-chip button{display:inline-flex;padding:2px;border:none;border-radius:50%;background:transparent;color:#1f4d38;cursor:pointer}.email-chip button:hover{background:#c3dbc9}.suffix-input{display:flex;align-items:center;gap:8px}.suffix-input input[type=number]{width:90px;height:42px;padding:0 10px;border:1px solid #cfdcd0;border-radius:8px;font:inherit;font-size:14px}.suffix-input span{font-size:13px;color:#4f6b5b}.step-badge.muted{background:#e3efe5;color:#1f4d38}.integration-list{display:flex;flex-direction:column;gap:10px;margin:0}.integration-list div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}.integration-list dt{color:#4f6b5b}.integration-list dd{margin:0}.status-pill{display:inline-flex;padding:3px 10px;border-radius:999px;background:#fbeade;color:#9b5a2e;font-size:12px;font-weight:500}.status-pill.ok{background:#dcefe1;color:#1f6b4a}.save-card{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid #dce6dc;border-radius:12px;background:#fff}.save-card h2{margin:0;font-size:16px;color:#0e2a20}.save-card p{margin:0;font-size:13px;color:#4f6b5b}.save-card .form-error,.save-card .form-success{margin:0}.save-card .link-button{align-self:center}.btn-primary-block{height:44px;border:none;border-radius:8px;background:#1f6b4a;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.btn-primary-block:hover:not(:disabled){background:#185a3e}.btn-primary-block:disabled{background:#dce6dc;color:#6b8274;cursor:not-allowed}.lang-switch{display:inline-flex;padding:2px;border-radius:8px;background:#163a2b}.lang-switch button{min-width:34px;height:26px;padding:0 8px;border:none;border-radius:6px;background:transparent;color:#9dbfa8;font:inherit;font-size:11px;font-weight:600;letter-spacing:.06em;cursor:pointer}.lang-switch button.active{background:#2f8a5f;color:#fff}.lang-switch.light{background:#eef4ee}.lang-switch.light button{color:#3e5a4a}.lang-switch.light button.active{background:#1f6b4a;color:#fff}.side-lang{margin-top:auto;padding:0 12px}.side-nav .side-lang+.side-profile{margin-top:0}.side-nav.collapsed .side-lang{display:flex;justify-content:center;padding:0}.side-nav.collapsed .side-lang .lang-switch{flex-direction:column}.date-field{position:relative;display:flex;align-items:center}.date-field input[type=text]{width:100%;height:42px;padding:0 38px 0 12px;border:1px solid #cfdcd0;border-radius:8px;background:#fff;color:#12251d;font:inherit;font-size:14px;font-variant-numeric:tabular-nums}.date-field input[type=text]:focus{outline:2px solid #9cc7ad;border-color:#1f6b4a}.date-field.compact input[type=text]{height:40px;padding:0 30px 0 8px;font-size:13px}.date-field.compact .date-field-pick{right:3px}.date-field.invalid input[type=text]{border-color:#c0664f;background:#fdf7f5}.date-field .date-field-pick{position:absolute;right:6px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:#4f6b5b;cursor:pointer}.date-field .date-field-pick:hover{background:#eef4ee;color:#1f6b4a}.date-field .date-field-native{position:absolute;right:6px;bottom:0;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}.law-disclaimer{margin:0;padding:12px 16px;border:1px solid #c6ddcb;border-radius:10px;background:#e3efe5;color:#1f4d38;font-size:13px;line-height:1.5}.law-text{margin:0;font-size:15px;line-height:1.55;color:#12251d}.law-basis{margin:0;font-size:12.5px;line-height:1.5;color:#5a7465}.law-band{display:flex;height:38px;overflow:hidden;border-radius:8px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500}.law-band span{display:flex;align-items:center;justify-content:center}.law-band .day{flex:13;background:#f1e9c9;color:#6b5a1c}.law-band .nightly{flex:11;background:#0e2a20;color:#cfe8d6}.law-cols{grid-template-columns:minmax(0,1fr) 90px 120px}.law-cols.two{grid-template-columns:minmax(0,1fr) 160px}.law-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.law-step{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid #dce6dc;border-radius:10px;background:#fff}.law-step .law-step-rate{font-family:"Source Serif 4",Georgia,serif;font-size:26px;font-weight:600;color:#0e2a20}.law-step .law-step-from{font-size:12px;color:#4f6b5b}.law-step.current{border-color:#1f6b4a;background:#eef6f0}.law-source{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:500}.law-settings{font-size:13px;font-weight:500}@media(max-width:40rem){.law-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}.overview-grid-head,.overview-row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1.1fr) minmax(0,.9fr) 110px 110px;gap:12px;align-items:center}.overview-grid-head{padding:10px 24px;background:#eef4ee;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#3e5a4a}.overview-grid-head .align-end{text-align:right}.overview-row{padding:12px 24px;min-height:61px;border-bottom:1px solid #edf2ed;font-size:14px}.overview-hours{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.overview-hours .overview-mine{font-size:11px;color:#1f6b4a}.overview-closed{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.overview-closed .overview-mine{font-size:11px;color:#1f6b4a}.edit-table-row .align-end{text-align:right}.side-lang{display:flex;align-items:center;justify-content:space-between;gap:8px}.version-badge{padding:2px 8px;border:1px solid #2c5a45;border-radius:999px;font-family:IBM Plex Mono,monospace;font-size:11.5px;color:#9dbfa8;text-decoration:none;white-space:nowrap}.version-badge:hover,.version-badge:focus-visible{color:#f4f7f2;border-color:#7cc49a}.side-nav.collapsed .side-lang{flex-direction:column;gap:10px}.side-nav.collapsed .side-lang .version-badge{padding:2px 5px;font-size:10px}.login-version{margin-left:8px;color:#5f8a70}.changelog-versions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.changelog-version{display:flex;flex-direction:column;gap:2px;min-width:180px;padding:12px 16px;border:1px solid #d9e3db;border-radius:10px;background:#fff;font-size:12.5px;color:#5a7465}.changelog-version strong{font-size:18px;color:#12251d}.changelog-note{margin:0 0 16px;font-size:13px;color:#5a7465}.changelog-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}.changelog-current{padding:1px 8px;border-radius:999px;background:#e3efe5;color:#1f4d38;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.changelog-date{font-size:13px;color:#5a7465}.changelog-group h3{margin:0 0 6px;font-size:13px;font-weight:600;color:#2f8a5f;text-transform:uppercase;letter-spacing:.04em}.changelog-group ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.changelog-group li{font-size:14.5px;line-height:1.5;color:#12251d}.changelog-group code{padding:1px 5px;border-radius:4px;background:#eef3ef;font-family:IBM Plex Mono,monospace;font-size:12.5px}.changelog-group+.changelog-group{margin-top:16px}.range-builder.editing{border-color:#2f8a5f;box-shadow:0 0 0 3px #2f8a5f26}.builder-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:-6px;padding:8px 12px;border:1px dashed #9cc4aa;border-radius:8px;background:#f4f9f4;font-size:13px;color:#1f4d38}.builder-note.editing{border-style:solid;border-color:#2f8a5f}.builder-note .btn-link{border:0;background:none;padding:0;color:#2f8a5f;font-weight:600;cursor:pointer;white-space:nowrap}.builder-problem{font-size:12px;color:#b3261e;text-align:center}.continue-date.builder{display:flex;align-items:center;height:42px}.session-time{font-family:IBM Plex Mono,monospace;font-size:13.5px;color:#12251d}.edit-table-row.editing{background:#eef6ef;box-shadow:inset 3px 0 #2f8a5f}.users-card-sub{margin:2px 0 0;font-size:13px;color:#5a7465}.hours-table{overflow-x:auto}.hours-row{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(76px,.6fr) repeat(5,minmax(90px,1fr)) 128px;gap:12px;align-items:center;min-width:900px;padding:11px 24px;border-bottom:1px solid #edf2ed;font-size:14px;color:#12251d}.hours-row .align-end{text-align:right}.hours-row .strong{font-weight:600}.hours-head{padding:10px 24px;background:#eef4ee;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#3e5a4a}.hours-total{background:#f4f8f4;font-weight:600}.hours-month,.hours-person{display:flex;flex-direction:column;gap:1px}.hours-month-name,.hours-user{font-size:12px;color:#5a7465}.hours-note{font-size:12.5px;line-height:1.5;color:#5a7465}.hours-month-pick{display:flex;align-items:center;gap:8px;font-size:13px;color:#3e5a4a}.hours-month-pick select{height:36px;padding:0 10px;border:1px solid #cfdcd0;border-radius:8px;background:#f8fbf7;font-size:14px;color:#12251d}.holiday-cols{grid-template-columns:120px 120px minmax(0,1fr);gap:12px}.edit-table-row.holiday-cols.past{color:#7d948a}.holiday-weekday{text-transform:capitalize;color:#4f6b5b}.holiday-past{margin-left:8px;font-size:11.5px;color:#7d948a}.holiday-year-cols{grid-template-columns:70px minmax(0,1fr) 80px auto;gap:12px}.holiday-year-cols .field-hint{margin-left:8px}.holiday-year-actions{display:flex;justify-content:flex-end;gap:8px}.btn-outline.small{height:30px;padding:0 10px;font-size:12.5px}.tag-pill.muted{background:#f2f5f3;color:#6b8276}.holiday-upload{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.holiday-upload label.btn-outline{cursor:pointer}.holiday-upload label.disabled{opacity:.6;pointer-events:none}.holiday-example{margin:0;padding:10px 12px;border:1px solid #dce6dc;border-radius:8px;background:#f8fbf7;font-family:IBM Plex Mono,monospace;font-size:12.5px;color:#3e5a4a}.hours-export{display:flex;justify-content:flex-end;gap:6px}.hours-error{margin:8px 24px}.tester-toggle{margin-left:6px;padding:2px 8px;border:1px dashed #b8c9bd;border-radius:999px;background:transparent;color:#7d948a;font:inherit;font-size:11px;font-weight:500;cursor:pointer}.tester-toggle.on{border:1px solid #b86e00;background:#fff4e0;color:#8a5200}.tester-toggle:disabled{cursor:default;opacity:.6}.test-pill{display:inline-flex;padding:2px 8px;border-radius:999px;background:#fff4e0;color:#8a5200;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.test-pill.archived{background:#eef1f0;color:#4f6b5b}.users-card-head .btn-link{padding:0;border:0;background:none;color:#1f6b4a;font:inherit;font-size:13px;font-weight:500;text-decoration:underline;cursor:pointer}.test-option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px dashed #e0b56a;border-radius:10px;background:#fffaf0;font-size:13px;color:#5c3a00}.test-option input{margin-top:2px}.test-option strong{display:block;font-size:14px}.users-row .role-pill,.users-row .tester-toggle{white-space:nowrap}.test-option .test-only{display:block;margin-top:4px;font-style:normal;font-weight:600}.mobile-bar,.side-close,.side-backdrop{display:none}@media(max-width:48rem){.users-shell{flex-direction:column}.mobile-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;height:56px;padding:0 12px;background:#0e2a20;color:#f4f7f2}.mobile-menu-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;margin-left:-4px;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer}.mobile-menu-button svg{width:28px;height:28px;flex-shrink:0}.mobile-menu-button:active{background:#ffffff1a}.mobile-menu-button:focus-visible{outline:2px solid #7cc49a}.mobile-brand{flex-grow:1;font-family:"Source Serif 4",Georgia,serif;font-size:17px;font-weight:600}.mobile-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#2f8a5f;color:#f4f7f2;font-size:13px;font-weight:600;text-decoration:none}.side-backdrop{display:block;position:fixed;inset:0;z-index:40;border:0;padding:0;background:#08140f80;cursor:pointer}.side-nav{position:fixed;top:0;left:0;z-index:50;width:min(288px,86vw);height:100dvh;padding:20px;gap:28px;overflow-y:auto;transform:translate(-100%);visibility:hidden;transition:transform .2s ease,visibility .2s}.side-nav.mobile-open{transform:translate(0);visibility:visible;box-shadow:0 0 40px #00000059}.side-nav .side-toggle{display:none}.side-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;border:0;border-radius:8px;background:transparent;color:#dcebdd;cursor:pointer}.side-close:hover,.side-close:focus-visible{background:#ffffff14}body.nav-open{overflow:hidden}}.auth-mobile-top{display:none}@media(max-width:40rem){.login-main{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:20px;padding:16px}.login-main .auth-lang{display:none}.auth-mobile-top{display:flex;align-items:center;gap:10px;padding:4px 0}.auth-mobile-top .brand-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#0e2a20}.auth-mobile-top .auth-mobile-name{flex-grow:1;font-family:"Source Serif 4",Georgia,serif;font-size:18px;font-weight:600;color:#0e2a20}.login-panel{width:100%;gap:14px}.login-form{padding:22px 18px;gap:16px;border-radius:12px}.login-heading h2{font-size:24px}.login-label-row{flex-wrap:wrap;gap:4px 12px}.login-note{padding:12px 14px;font-size:13px}}.report-track{display:contents}.report-pager{display:none}@media(max-width:48rem){.report-grid-head{display:none}.report-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:16px;scrollbar-width:none}.report-track::-webkit-scrollbar{display:none}.report-track>.users-card-foot{flex:1 0 100%}.report-track .report-row{flex:0 0 calc(100% - 24px);scroll-snap-align:center;display:flex;flex-direction:column;align-items:stretch;gap:12px;min-height:0;padding:16px;border:1px solid #dce6dc;border-radius:12px;background:#fff;box-sizing:border-box}.report-track .report-row .report-activity .report-name{font-size:16px;white-space:normal}.report-track .report-row .report-schedule,.report-track .report-row .report-participants{font-size:14px}.report-track .report-row .row-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;padding-top:12px;border-top:1px solid #edf2ed}.report-track .report-row .row-actions .btn-ghost.contribute{flex-grow:1;justify-content:center}.report-pager{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 16px 14px}.report-pager-count{font-family:IBM Plex Mono,monospace;font-size:12px;color:#5a7465}.report-pager-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.report-pager-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#c7d6ca;cursor:pointer}.report-pager-dots button.active{width:20px;border-radius:999px;background:#2f8a5f}}.wizard-off{display:none!important}.wizard-progress{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#4f6b5b}.wizard-progress strong{color:#0e2a20}.wizard-progress-bar{height:6px;border-radius:999px;background:#dce6dc;overflow:hidden}.wizard-progress-bar span{display:block;height:100%;border-radius:inherit;background:#2f8a5f;transition:width .2s ease}.wizard-summary .wizard-block{display:flex;flex-direction:column;gap:6px;padding-bottom:14px;border-bottom:1px solid #edf2ed;font-size:14px;color:#12251d}.wizard-summary .wizard-block:last-of-type{border-bottom:0}.wizard-summary .wizard-block strong.placeholder{color:#8a9a90}.wizard-summary .wizard-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#3e5a4a}.wizard-summary .wizard-block-head .btn-link{border:0;background:none;padding:4px 0;color:#2f8a5f;font:inherit;font-size:13px;letter-spacing:0;text-transform:none;cursor:pointer}.wizard-summary .wizard-line{display:flex;justify-content:space-between;gap:8px;font-size:13.5px}.wizard-summary .wizard-line.invalid{color:#b3261e}.wizard-summary .wizard-empty{font-size:13px;color:#8a9a90}.wizard-nav{position:sticky;bottom:0;z-index:20;display:flex;flex-direction:column;gap:8px;margin:0 -16px -20px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #dce6dc;background:#f4f7f2f5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.wizard-nav-error{margin:0;font-size:13px;color:#b3261e}.wizard-nav-buttons{display:flex;gap:10px}.wizard-nav-buttons>*{flex:1;justify-content:center}.wizard-next{height:40px;border:0;border-radius:8px;background:#1f6b4a;color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer}.wizard-next:disabled{opacity:.55;cursor:default}@media(max-width:40rem){.edit-table-row.project-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;grid-template-areas:"name name remove" "branch tag tag" "details details details";gap:8px;padding-top:12px;padding-bottom:14px}.project-cols .pc-name{grid-area:name}.project-cols .pc-branch{grid-area:branch}.project-cols .pc-tag{grid-area:tag}.project-cols .pc-details{grid-area:details}.project-cols .pc-remove{grid-area:remove;align-self:end}}@media(max-width:40rem){.edit-table-row.session-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"date date hours" "from ends to" "actions actions actions";gap:8px;padding-top:12px;padding-bottom:12px}.session-cols .sc-date{grid-area:date}.session-cols .sc-from{grid-area:from}.session-cols .sc-ends{grid-area:ends}.session-cols .sc-to{grid-area:to}.session-cols .sc-hours{grid-area:hours}.session-cols .sc-actions{grid-area:actions;justify-content:flex-end;gap:6px}}.wizard-compact{gap:16px}.wizard-compact .users-topbar .breadcrumb,.wizard-compact .users-heading p{display:none}.wizard-compact .activity-section-head{justify-content:flex-end;padding:12px 16px 0;border-bottom:0}.wizard-compact .activity-section-head .step-badge,.wizard-compact .activity-section-head>div{display:none}.wizard-compact .activity-section-head:not(:has(.head-action)){display:none}.wizard-compact .users-heading h1{font-size:26px}.wizard-compact .activity-section-body{padding:16px}.wizard-compact .range-builder{padding:12px}.wizard-compact .field-hint{font-size:11.5px}.wizard-hint{margin:0;font-size:13px;line-height:1.45;color:#4f6b5b}.row-chevron,.fab,.sheet-backdrop,.sheet-close{display:none}.create-form-head{display:flex;align-items:flex-start;gap:12px}.create-form-head>div{flex-grow:1}@media(max-width:48rem){.users-card-head{flex-wrap:wrap}.users-card-head .users-search{width:100%}.users-grid-head{display:none}.users-row{grid-template-columns:minmax(0,1fr) auto 24px;grid-template-areas:"identity role chevron" "email email email" "status status status" "actions actions actions";gap:8px 10px;min-height:0;padding:12px 16px;cursor:pointer;-webkit-tap-highlight-color:transparent}.users-row .user-identity{grid-area:identity}.users-row>div:nth-child(3){grid-area:role;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.users-row .user-email{grid-area:email;overflow-wrap:anywhere}.users-row .user-status{grid-area:status}.users-row .row-actions{grid-area:actions;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}.users-row .row-actions .btn-ghost{flex-grow:1;justify-content:center}.users-row .row-chevron{grid-area:chevron;display:inline-flex;color:#6b8274;transition:transform .15s ease}.users-row .tester-toggle{margin-left:0}.users-row:not(.expanded) .user-email,.users-row:not(.expanded) .user-status,.users-row:not(.expanded) .row-actions,.users-row:not(.expanded) .tester-toggle:not(.on){display:none}.users-row:not(.expanded) .tester-toggle{pointer-events:none}.users-row.expanded{background:#f6faf6}.users-row.expanded .row-chevron{transform:rotate(180deg)}.users-row:focus-visible{outline:2px solid #2f8a5f;outline-offset:-2px}.users-aside:not(.sheet-open){display:none}.users-aside.sheet-open{position:fixed;left:0;right:0;bottom:0;z-index:60;width:auto;max-height:90dvh;overflow-y:auto;padding:8px 12px calc(12px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:#f4f7f2;box-shadow:0 -10px 40px #08140f40;animation:sheet-up .2s ease}.sheet-backdrop{display:block;position:fixed;inset:0;z-index:55;border:0;padding:0;background:#08140f80}.sheet-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;margin:-6px -6px 0 0;border:0;border-radius:10px;background:transparent;color:#3e5a4a;cursor:pointer}.sheet-close:active{background:#edf2ed}.fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:40;display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border:0;border-radius:50%;background:#1f6b4a;color:#fff;box-shadow:0 6px 20px #0e2a2059;cursor:pointer}.fab:active{transform:scale(.96)}.users-main:has(.fab){padding-bottom:96px}}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.activity-section-body[hidden]{display:none}.step-badge.icon{width:32px;height:32px;margin-top:0}.accordion-head{position:relative;align-items:center;min-height:68px;box-sizing:border-box}.accordion-head:not(.open){border-bottom:0}.accordion-head:hover{background:#f8fbf7}.accordion-head .accordion-text{flex-grow:1;min-width:0}.accordion-head .accordion-text p{overflow-wrap:anywhere}.accordion-head .accordion-toggle{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.accordion-head .accordion-toggle:after{content:"";position:absolute;inset:0}.accordion-head .accordion-toggle:focus-visible{outline:none}.accordion-head:has(.accordion-toggle:focus-visible){outline:2px solid #2f8a5f;outline-offset:-2px}.accordion-head .accordion-chevron{flex-shrink:0;color:#6b8274;transition:transform .15s ease}.accordion-head.open .accordion-chevron{transform:rotate(180deg)}.account-sections{max-width:760px}.account-profile{display:flex;align-items:center;gap:18px;padding:22px 24px}.account-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:64px;height:64px;border-radius:50%;background:#2f8a5f;color:#f4f7f2;font-size:22px;font-weight:600}.account-identity{display:flex;flex-direction:column;gap:3px;min-width:0}.account-identity h2{margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:22px;font-weight:600;color:#0e2a20}.account-identity .mono-text{font-size:13px;color:#5a7465}.account-identity .account-email{font-size:14px;color:#2e4639;overflow-wrap:anywhere}.account-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.account-tags .tester-toggle{margin-left:0;cursor:default}.account-row{display:flex;align-items:center;gap:14px;padding:18px 24px}.account-row .account-row-text{flex-grow:1;min-width:0}.account-row .account-row-text h2{margin:0 0 2px;font-size:16px;font-weight:600;color:#0e2a20}.account-row .account-row-text p{margin:0;font-size:13px;line-height:1.45;color:#5a7465}.account-row>.btn-outline{flex-shrink:0;text-decoration:none}.step-badge.icon.danger{background:#f6e2de;color:#9b3b2e}@media(max-width:40rem){.account-profile{padding:18px 16px}.account-row{flex-wrap:wrap;padding:16px}.account-row .account-row-text{flex-basis:calc(100% - 50px)}.account-row>.btn-outline,.account-row>app-lang-switch{flex-basis:100%;justify-content:center}.account-row>app-lang-switch .lang-switch{justify-content:center}}.dialog-backdrop{position:fixed;inset:0;z-index:55;border:0;padding:0;background:#08140f80}.edit-dialog{position:fixed;top:50%;left:50%;z-index:60;width:min(440px,100vw - 32px);max-height:90dvh;overflow-y:auto;transform:translate(-50%,-50%);border-radius:14px;box-shadow:0 20px 60px #08140f4d}.edit-dialog .create-form{border:0}.edit-dialog .mono-text{font-size:13px}.dialog-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;margin:-6px -6px 0 0;border:0;border-radius:8px;background:transparent;color:#3e5a4a;cursor:pointer}.dialog-close:hover{background:#edf2ed}@media(max-width:48rem){.edit-dialog{top:auto;bottom:0;left:0;width:100%;transform:none;border-radius:16px 16px 0 0;animation:sheet-up .2s ease}.edit-dialog .create-form{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}.dialog-close,.sheet-close,.side-close,.mobile-menu-button{padding:0}.dialog-close svg,.sheet-close svg,.side-close svg,.mobile-menu-button svg{flex-shrink:0}.role-checks{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;border:0}.role-checks legend{margin-bottom:6px;padding:0;font-size:13px;font-weight:500;color:#1f3a2d}.role-check{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #dce6dc;border-radius:8px;background:#fff;font-size:13px;color:#4f6b5b;cursor:pointer}.role-check input{width:18px;height:18px;margin:1px 0 0;accent-color:#1f6b4a;flex-shrink:0}.role-check strong{display:block;font-size:14px;color:#12251d}.role-check:has(input:checked){border-color:#9cc7ad;background:#f4f9f4}.role-check:has(input:disabled){opacity:.6;cursor:default}.account-profile .account-edit{align-self:flex-start;margin-left:auto;flex-shrink:0}.account-form{display:flex;flex-direction:column;gap:14px;padding:22px 24px}.account-form .form-field{display:flex;flex-direction:column;gap:6px}.account-form .form-field label{font-size:13px;font-weight:500;color:#1f3a2d}.account-form .form-field input{height:42px;padding:0 12px;border:1px solid #cfdcd0;border-radius:8px;font-size:14px;background:#fff;color:#12251d}.account-form-head{display:flex;align-items:center;gap:12px}.account-form-head h2{margin:0;font-size:17px;font-weight:600;color:#0e2a20}.account-form-head .mono-text{font-size:13px;color:#5a7465}.account-avatar.small{width:44px;height:44px;font-size:16px}.account-form-actions{display:flex;justify-content:flex-end;gap:10px}.account-form-actions .wizard-next{padding:0 18px}@media(max-width:40rem){.account-profile{flex-wrap:wrap}.account-profile .account-edit{flex-basis:100%;justify-content:center}.account-form{padding:18px 16px}.account-form-actions>*{flex:1;justify-content:center}}.channel-choice{display:flex;flex-direction:column;gap:10px;margin:0 24px 18px;padding:14px 16px;border:1px solid #c6ddcb;border-radius:10px;background:#f4f9f4}.channel-choice p{margin:0;font-size:13.5px;line-height:1.45;color:#1f4d38}.channel-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.channel-buttons .wizard-next{padding:0 18px}.channel-buttons .btn-link{border:0;background:none;padding:6px 4px;color:#2f8a5f;font:inherit;font-size:14px;cursor:pointer}.channel-buttons.stacked{flex-direction:column;align-items:stretch}.channel-buttons.stacked>*{justify-content:center}.reset-question{margin:0;font-size:14px;line-height:1.5;color:#2e4639}@media(max-width:40rem){.channel-choice{margin:0 16px 16px}.channel-buttons>button:not(.btn-link){flex:1}}.swipe-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:16px;scrollbar-width:none}.swipe-track::-webkit-scrollbar{display:none}.swipe-card{flex:0 0 calc(100% - 24px);scroll-snap-align:center;display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid #dce6dc;border-radius:12px;background:#fff;box-sizing:border-box}.swipe-card header{display:flex;flex-direction:column;gap:2px}.swipe-card header strong,.swipe-card header .report-name{font-size:16px;font-weight:600;color:#12251d}.swipe-card header strong span{font-weight:500;color:#4f6b5b}.swipe-card header .mono-text{font-size:12.5px;color:#5a7465}.swipe-empty{flex:1 0 100%;margin:0;font-size:13px;color:#5a7465}.swipe-pager{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 16px 14px;font-family:IBM Plex Mono,monospace;font-size:12px;color:#5a7465}.swipe-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.swipe-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#c7d6ca;cursor:pointer}.swipe-dots button.active{width:20px;border-radius:999px;background:#2f8a5f}.month-total{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px;color:#4f6b5b}.month-total-value{font-family:"Source Serif 4",Georgia,serif;font-size:30px;font-weight:600;color:#1f6b4a}.kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.kind-grid>div{padding:8px 10px;border-radius:8px;background:#f4f8f4}.kind-grid dt{font-size:11.5px;color:#5a7465}.kind-grid dd{margin:2px 0 0;font-family:IBM Plex Mono,monospace;font-size:14px;color:#12251d}.month-export{display:flex;gap:8px}.month-export>*{flex:1;justify-content:center}.person-list{display:flex;flex-direction:column}.person-line{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-bottom:1px solid #edf2ed}.person-line.total{background:#f4f8f4;border-bottom:0}.person-line-main{display:flex;justify-content:space-between;gap:8px}.person-name{font-size:14.5px;font-weight:500;color:#12251d}.person-total{font-weight:600;color:#1f6b4a}.person-kinds{font-size:12px;color:#5a7465}.phone-note{margin:0;padding:0 16px 16px;font-size:12px;line-height:1.45;color:#5a7465}.phone-compact .users-heading p,.phone-compact .users-card-sub{display:none}.phone-compact .users-card-head{flex-wrap:wrap}.phone-compact .hours-month-pick{flex:1 1 100%}.phone-compact .hours-month-pick select{flex-grow:1;min-width:0}@media(max-width:40rem){.edit-table-row.law-cols:not(.two){display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;padding-top:12px;padding-bottom:12px}.edit-table-row.law-cols:not(.two)>:first-child{flex-basis:100%;font-size:14.5px;font-weight:500;color:#12251d}.edit-table-row.law-cols:not(.two)>:nth-child(2),.edit-table-row.law-cols:not(.two)>:nth-child(3){text-align:left;font-size:13.5px;color:#1f6b4a}.edit-table-row.law-cols:not(.two)>:nth-child(3):before{content:"\b7  ";color:#8a9a90}.edit-table-row.holiday-cols{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;padding-top:12px;padding-bottom:12px}.edit-table-row.holiday-cols>:nth-child(3){order:-1;flex-basis:100%;font-size:14.5px;font-weight:500;color:#12251d}.edit-table-row.holiday-cols>:nth-child(1),.edit-table-row.holiday-cols>:nth-child(2){font-size:13px;color:#4f6b5b}.edit-table-row.holiday-cols>:nth-child(2):before{content:"\b7  ";color:#8a9a90}.edit-table-row.holiday-cols.past>:nth-child(3){color:#7d948a}}.create-form .form-row.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}@media(max-width:30rem){.create-form .form-row.two{grid-template-columns:minmax(0,1fr)}}.create-form .form-row.two .optional{font-weight:400;color:#6b8274}.create-form .form-row.two select{height:42px;padding:0 10px;border:1px solid #cfdcd0;border-radius:8px;background:#fff;font:inherit}.create-form input.taken{border-color:#c0392b;color:#c0392b;background:#fdf1ef}.create-form input.taken:focus{outline-color:#c0392b}.create-form .field-hint.taken{color:#c0392b;font-weight:500}.create-form .req{margin-left:2px;color:#c0392b;font-weight:600}.login-fields{display:flex;flex-direction:column;gap:18px}.login-fields .login-submit{width:100%}.login-input.match{border-color:#2e9e5b;box-shadow:0 0 0 1px #2e9e5b}.pw-match{margin:-6px 0 0;color:#1f7a45;font-size:13px;font-weight:500}.pw-strength{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px}.pw-strength .pw-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.pw-strength .pw-bars span{height:5px;border-radius:3px;background:#e1e8e2}.pw-strength .pw-label{min-width:56px;font-size:12px;font-weight:600;text-align:right}.pw-strength .pw-checks{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;list-style:none;font-size:12px;color:#8a9a90}.pw-strength .pw-checks li:before{content:"\25cb  "}.pw-strength .pw-checks li.ok{color:#1f7a45}.pw-strength .pw-checks li.ok:before{content:"\2713  "}.pw-strength[data-level="1"] .pw-bars span.on{background:#c0392b}.pw-strength[data-level="1"] .pw-label{color:#c0392b}.pw-strength[data-level="2"] .pw-bars span.on{background:#d68910}.pw-strength[data-level="2"] .pw-label{color:#b9770e}.pw-strength[data-level="3"] .pw-bars span.on{background:#6fae3e}.pw-strength[data-level="3"] .pw-label{color:#4d8a24}.pw-strength[data-level="4"] .pw-bars span.on{background:#1f7a45}.pw-strength[data-level="4"] .pw-label{color:#1f7a45}.create-form input.review{border-color:#c9a227;background:#fbf6e3}.create-form .field-hint.review{color:#8a6d0f;font-weight:500}.login-field .field-hint.taken{color:#c0392b;font-weight:500}.audit-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;padding:18px 24px;border-bottom:1px solid #e6eee6}.audit-filters .form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.audit-filters .form-field label{font-size:13px;font-weight:500;color:#1f3a2d}.audit-filters .form-field select{height:38px;padding:0 10px;border:1px solid #cfdcd0;border-radius:8px;font:inherit;font-size:14px;background:#fff;color:#12251d;max-width:260px}.audit-filters .audit-refresh{height:38px}.audit-note{margin:0;padding:14px 24px;font-size:14px;color:#4f6b5b}.audit-note.form-error{color:#a33a2b}.audit-count{padding-top:10px;padding-bottom:10px;font-size:13px}.audit-grid-head,.audit-row-main{display:grid;grid-template-columns:1.1fr 1.5fr 2.6fr .7fr 1fr;gap:12px;align-items:center}.audit-grid-head{padding:10px 24px;background:#eef4ee;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#3e5a4a}.audit-list{list-style:none;margin:0;padding:0}.audit-row{border-bottom:1px solid #edf2ed}.audit-row.open{background:#f8fbf7}.audit-row-main{width:100%;padding:10px 24px;border:none;background:transparent;font:inherit;font-size:13.5px;color:#12251d;text-align:left;cursor:pointer}.audit-row-main:hover{background:#f4f8f3}.audit-row-main>span{min-width:0;overflow-wrap:anywhere}.audit-when,.audit-ip{font-family:IBM Plex Mono,monospace;font-size:12.5px;color:#3e5a4a}.audit-target{color:#6b8274;font-size:12.5px}.audit-kind{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#eef4ee;color:#3e5a4a}.audit-kind.kind-ACCESS{background:#e3ecf7;color:#2d4f7c}.audit-kind.kind-CHANGE{background:#fbeade;color:#9b5a2e}.audit-details{display:grid;gap:6px;margin:0;padding:0 24px 14px;font-size:12.5px}.audit-details>div{display:grid;grid-template-columns:110px 1fr;gap:12px}.audit-details dt{color:#6b8274}.audit-details dd{margin:0;font-family:IBM Plex Mono,monospace;overflow-wrap:anywhere}@media(max-width:48rem){.audit-filters{padding:14px 16px}.audit-filters .form-field{flex:1 1 140px}.audit-filters .form-field select{max-width:none;width:100%}.audit-grid-head{display:none}.audit-note{padding:12px 16px}.audit-row-main{grid-template-columns:1fr auto;grid-template-areas:"when result" "who who" "what what" "ip ip";gap:4px 12px;padding:12px 16px}.audit-when{grid-area:when}.audit-result{grid-area:result}.audit-who{grid-area:who;font-weight:500}.audit-what{grid-area:what}.audit-ip{grid-area:ip}.audit-details{padding:0 16px 12px}.audit-details>div{grid-template-columns:1fr;gap:2px}}.login-privacy{margin:12px 4px 0;font-size:12px;line-height:1.5;color:#6b8274;text-align:center}.local-recover{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid #e8c9a5;border-radius:12px;background:#fdf5ea;color:#5b3a17}.local-recover strong{display:block;font-size:14px}.local-recover p{margin:4px 0 0;font-size:13px;line-height:1.45}.local-recover-actions{display:flex;gap:8px;flex-shrink:0}.local-recover-actions .btn-outline.strong{border-color:#1f6b4a;background:#1f6b4a;color:#fff}.char-counter{margin:2px 0 6px 34px;font-size:12px;color:#6b8274}.char-counter.full{color:#9b5a2e;font-weight:500}.kept-locally{display:block;margin-top:2px;font-size:12px;color:#6b8274}@media(max-width:40rem){.local-recover{flex-direction:column;align-items:stretch}.local-recover-actions{justify-content:flex-end}.char-counter{margin-left:0}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.submit-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.kept-locally.warn{color:#9b5a2e}.contribution-note.draft-note{background:#eef4ee;color:#1f4d38}.csv-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.csv-bar .csv-hint{margin-right:auto;font-size:12.5px;color:#6b8274}.csv-bar label.btn-outline{position:relative;cursor:pointer}.csv-preview{display:flex;flex-direction:column;gap:6px;padding:14px 18px;border:1px solid #cfe0d4;border-radius:12px;background:#f6faf6;font-size:13.5px;color:#1f3a2d}.csv-preview p{margin:0}.csv-preview .csv-warning{color:#9b5a2e}.csv-preview .csv-errors{margin:0;padding-left:18px;font-size:12.5px;color:#6b4a2e;max-height:140px;overflow:auto}.csv-preview .csv-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.csv-preview .csv-actions .btn-outline.strong{border-color:#1f6b4a;background:#1f6b4a;color:#fff}@media(max-width:40rem){.submit-actions{width:100%}.submit-actions>*{flex:1;justify-content:center}.csv-bar .csv-hint{flex-basis:100%}.csv-preview .csv-actions{flex-wrap:wrap}}.audit-reason{display:block;margin-top:2px;font-size:12px;color:#9b5a2e}.audit-visit-loads{list-style:none;margin:0;padding:0 24px 12px;font-size:12.5px}.audit-visit-loads li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 0;border-top:1px dashed #e3ebe3}.audit-visit-loads .status-pill{padding:1px 8px;font-size:11px}.audit-visit-loads .audit-path{font-family:IBM Plex Mono,monospace;font-size:11.5px;color:#6b8274;overflow-wrap:anywhere}@media(max-width:48rem){.audit-visit-loads{padding:0 16px 10px}}.audit-check{display:inline-flex;align-items:center;gap:6px;height:38px;font-size:13.5px;color:#1f3a2d;cursor:pointer}@keyframes loading-breathe{0%,to{opacity:1}50%{opacity:.4}}.loading-pulse{animation:loading-breathe 1.2s ease-in-out infinite}.wait-indicator{position:fixed;right:16px;bottom:16px;z-index:1000;display:flex;align-items:center;gap:10px;max-width:min(380px,100vw - 32px);padding:10px 14px;border:1px solid #cfe0d4;border-radius:12px;background:#fff;box-shadow:0 6px 20px #0e2a201f;font-size:13px;color:#1f3a2d}.wait-indicator .wait-clock{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-family:IBM Plex Mono,monospace;font-weight:500;color:#1f6b4a}.wait-indicator .wait-text{animation:loading-breathe 1.2s ease-in-out infinite}.wait-indicator .wait-reload{flex-shrink:0;padding:4px 10px;border:1px solid #1f6b4a;border-radius:8px;background:#1f6b4a;color:#fff;font:inherit;font-size:12.5px;cursor:pointer}.wait-indicator.slow .wait-clock{color:#9b5a2e}@media(prefers-reduced-motion:reduce){.loading-pulse,.wait-indicator .wait-text{animation:none}}.dev-faults-strip{position:fixed;top:0;left:50%;z-index:1001;transform:translate(-50%);max-width:calc(100vw - 32px);padding:4px 12px;border-radius:0 0 8px 8px;background:#9b5a2e;color:#fff;font-size:12px;text-align:center}.audit-ip .audit-browser{display:block;font-family:IBM Plex Sans,sans-serif;font-size:11.5px;color:#6b8274}
