:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:light;--brand-green: #183b36;--brand-gold: #c5a46d;--brand-gold-hover: #ad8c58;--brand-charcoal: #272a2a;--brand-teal: #6f918c;--brand-ivory: #f5f1e8;--bg: var(--brand-ivory);--surface: #ffffff;--surface-2: #efeadd;--text: var(--brand-charcoal);--text-muted: #5b5850;--text-faint: #8c887e;--border: #e3ddcf;--accent: var(--brand-gold);--accent-hover: var(--brand-gold-hover);--accent-soft: #f3e9d5;--accent-ink: #8a6e3f;--navy: var(--brand-teal);--navy-soft: #e7eeed;--critical: #a83b3b}*{box-sizing:border-box}button,input,select,textarea{font:inherit}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent-ink)}a:hover{color:var(--accent-hover)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-form{display:flex;flex-direction:column;gap:.75rem;width:320px;padding:2rem;background:var(--surface);border-radius:var(--radius, 12px);box-shadow:0 1px 3px #183b361a}.login-form h1{margin:0 0 .5rem;font-size:1.35rem;line-height:1.3;color:var(--brand-green)}.login-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.login-form input{padding:.5rem;border:1px solid var(--border);border-radius:4px;font-size:1rem}.login-form button{margin-top:.5rem;padding:.6rem;background:var(--brand-green);color:#fff;border:none;border-radius:4px;cursor:pointer}.form-error{color:var(--critical);font-size:.875rem}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:220px;flex-shrink:0;background:var(--brand-green);color:#fff;display:flex;flex-direction:column}.app-sidebar-header{padding:1.1rem 1.25rem;font-weight:600;font-size:1.05rem;line-height:1.3;border-bottom:1px solid rgba(255,255,255,.1)}.app-sidebar-nav{flex:1;display:flex;flex-direction:column;padding:.75rem 0}.app-sidebar-nav a{color:#ffffffbf;text-decoration:none;padding:.65rem 1.25rem;font-size:.9rem}.app-sidebar-section{padding:.75rem 1.25rem .25rem;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ffffff73}.app-sidebar-nav a.app-sidebar-sub{padding-left:2.1rem;font-size:.85rem}.app-sidebar-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;font-family:inherit}.app-sidebar-section-toggle:hover{color:#ffffffbf}.app-sidebar-caret{font-size:.65rem}.app-sidebar-nav a:hover{background:#ffffff0f;color:#fff}.app-sidebar-nav a.active{background:#c5a46d38;color:var(--accent);font-weight:500}.app-sidebar-footer{padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.5rem}.app-sidebar-user{font-size:.8rem;color:#ffffffbf}.app-sidebar-footer button{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:4px;padding:.4rem .75rem;cursor:pointer}.app-content{flex:1;min-width:0;padding:1.5rem}.placeholder-page{max-width:480px}.callout{background:var(--navy-soft);border:1px solid var(--navy);border-radius:8px;padding:.75rem 1rem;margin:1rem 0 0;font-size:.875rem;color:var(--brand-green)}.callout code{background:#183b3614;padding:.1rem .3rem;border-radius:3px}.inline-form fieldset{border:1px solid var(--border);border-radius:4px;padding:.5rem .75rem}.inline-form fieldset legend{font-size:.875rem;padding:0 .25rem}.checkbox-label{flex-direction:row!important;align-items:center;gap:.35rem!important;font-size:.875rem}table{width:100%;border-collapse:collapse;background:var(--surface)}th,td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.table-scroll{overflow-x:auto;border-radius:8px}.matrix-table{min-width:1100px}.matrix-table th{white-space:nowrap;font-size:.8rem;vertical-align:bottom;text-align:center;border-bottom:1px solid var(--border)}.matrix-table td{white-space:nowrap;font-size:.875rem}.matrix-group-row td{background:var(--brand-green);color:#fff;font-weight:600;padding:.4rem .75rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-top:2rem}.page-header h1,.page-header h2{margin:0}.page-header button{padding:.4rem .9rem;background:var(--brand-green);color:#fff;border:none;border-radius:4px;cursor:pointer}.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;padding:1rem;margin:1rem 0;background:var(--surface);border-radius:8px;box-shadow:0 1px 3px #183b361a}.inline-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.inline-form input,.inline-form select{padding:.4rem;border:1px solid var(--border);border-radius:4px}.inline-form button{padding:.5rem 1rem;background:var(--brand-green);color:#fff;border:none;border-radius:4px;cursor:pointer;height:fit-content}.client-meta{color:var(--text-muted);margin-top:-.5rem}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-faint);margin:0 0 .4rem}.button-row{display:flex;gap:.5rem}.danger-button{padding:.4rem .9rem;background:var(--surface);color:var(--critical);border:1px solid var(--critical);border-radius:4px;cursor:pointer}.link-button{background:none;border:none;color:var(--accent-ink);cursor:pointer;padding:0;font-size:.875rem;text-decoration:underline}.hint{color:var(--text-faint);font-size:.8rem}.checklist-steps{list-style:none;margin:.25rem 0;padding:.5rem .75rem;background:var(--surface-2);border-radius:4px;display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}.checklist-steps li{display:flex;align-items:center;font-size:.875rem}.checklist-steps label{display:flex;align-items:center;gap:.35rem;cursor:pointer}.date-input{position:relative;display:inline-flex;align-items:stretch}.date-input input[type=text]{width:8.5rem;padding:.4rem;border:1px solid var(--border);border-right:none;border-radius:4px 0 0 4px}.date-input-invalid input[type=text]{border-color:var(--critical);color:var(--critical)}.date-input .date-input-picker,.inline-form .date-input .date-input-picker{display:inline-flex;align-items:center;padding:0 .5rem;height:auto;background:var(--surface-2);color:var(--brand-green);border:1px solid var(--border);border-radius:0 4px 4px 0;cursor:pointer}.date-input .date-input-picker:disabled{cursor:default;opacity:.5}.date-input-native{position:absolute;left:0;bottom:0;width:100%;height:0;padding:0;border:0;opacity:0;pointer-events:none}.step-event-date{margin-left:.5rem}.step-event-date input[type=text]{width:7.5rem;padding:.15rem .35rem;font-size:.8rem}
