:root{color-scheme:light;--color-forest: #245c42;--color-sage: #75a66f;--color-yellow: #e8b85c;--color-mint: #d9e8e1;--color-white: #f7f7f2;--color-charcoal: #29352f;--color-surface: #ffffff;--color-text: var(--color-charcoal);--color-muted: #727c75;--color-border: #e5e9e2;--color-danger: #ac433d;--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 7px;--radius-md: 12px;--radius-lg: 16px;--sidebar-width: 244px;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;background:var(--color-white);color:var(--color-text);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2}h1{font-size:30px;font-weight:650;letter-spacing:-1px}h2{font-size:17px;font-weight:650;letter-spacing:-.35px}h3{font-size:15px}svg{flex-shrink:0}button{border:0}input,select,textarea{width:100%;color:var(--color-charcoal);background:#fff;border:1px solid #dce2d9;border-radius:var(--radius-sm);padding:11px 12px;min-height:44px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--color-forest);box-shadow:0 0 0 3px #245c4212}textarea{resize:vertical;min-height:100px}input::placeholder,textarea::placeholder{color:#919990}input[type=date],input[type=time],input[type=month]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0}button:focus-visible,a:focus-visible{outline:3px solid var(--color-yellow);outline-offset:4px}::selection{background:var(--color-mint)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-70px;left:20px;background:var(--color-forest);color:#fff;padding:12px 20px;z-index:100}.skip-link:focus{top:12px}.muted{color:var(--color-muted)}.capitalize{text-transform:capitalize}.app-layout{min-height:100vh}.sidebar{width:var(--sidebar-width);position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--color-border);z-index:30;display:flex;flex-direction:column;padding:32px 20px 19px}.brand{display:flex;align-items:center;gap:10px;padding:0 10px}.brand-mark{height:40px;width:40px;display:block}.brand-mark img{height:40px;width:40px}.brand-text{font-size:27px;font-weight:740;letter-spacing:-1.2px;color:var(--color-forest);line-height:1}.brand-text>span{display:block;color:#7b857c;letter-spacing:1.1px;font-size:7px;font-weight:600;margin-top:9px}.workspace-label{margin-top:34px;margin-bottom:30px;padding:12px 9px;border:1px solid var(--color-border);border-radius:9px;display:flex;gap:9px;align-items:center;font-size:11px;font-weight:600}.workspace-label>svg{margin-left:auto;color:#8b958a}.workspace-symbol{width:30px;height:32px;background:#f0f4ec;border-radius:6px;color:var(--color-forest);display:grid;place-items:center}.workspace-label small{display:block;font-size:10px;font-weight:400;color:var(--color-muted);margin-top:2px}.nav-heading{font-size:9px;letter-spacing:1.4px;font-weight:600;color:#8c968c;padding:0 13px;margin-bottom:12px}.tools-heading{margin-top:30px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 13px;margin-bottom:5px;border-radius:8px;color:#6b766d;font-size:12px;font-weight:500;transition:background .15s,color .15s}.nav-link:hover{background:#f5f7f2;color:var(--color-forest)}.nav-link.active{background:#eaf0e6;color:var(--color-forest);font-weight:650}.nav-active-dot{display:none;width:5px;height:5px;background:var(--color-forest);border-radius:50%;margin-left:auto}.nav-link.active .nav-active-dot{display:block}.sidebar-bottom{margin-top:auto;padding-top:40px}.sidebar-note{background:#f2f5ed;padding:18px 16px;border-radius:10px;position:relative;overflow:hidden}.note-leaf{color:var(--color-forest);display:block;margin-bottom:11px}.sidebar-note h3{font-size:12px;margin-bottom:8px;font-weight:600}.sidebar-note p{font-size:10.5px;color:#7c8677;line-height:1.8;max-width:155px}.note-line{display:block;width:25px;height:2px;background:var(--color-yellow);margin-top:16px}.help-link{display:flex;gap:10px;align-items:center;color:#6c776d;font-size:11px;padding:23px 12px 17px}.help-link>svg:last-child{margin-left:auto}.help-link:hover{color:var(--color-forest)}.sidebar-mode{border-top:1px solid var(--color-border);padding:17px 8px 0;color:#7d877d;font-size:9px;display:flex;align-items:center;gap:7px}.sidebar-mode>span{width:5px;height:5px;border-radius:50%;background:var(--color-sage)}.workspace-main{margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);padding:0 42px;background:#fdfdf9;gap:20px}.breadcrumb{display:flex;align-items:center;gap:15px;font-size:11px;color:#91998f;white-space:nowrap}.breadcrumb strong{font-weight:500;color:#46534a}.breadcrumb>svg{color:#abb3a8}.topbar-right{display:flex;gap:27px;align-items:center}.academic-period{display:flex;align-items:center;gap:7px;color:#7b8578;font-size:10px}.academic-period>span{height:5px;width:5px;border-radius:50%;background:var(--color-sage)}.profile{display:flex;gap:10px;align-items:center;padding-left:25px;border-left:1px solid var(--color-border)}.avatar{width:34px;height:34px;border-radius:50%;background:#e7ede1;color:var(--color-forest);display:grid;place-items:center;font-size:11px;font-weight:650}.profile strong{display:block;font-size:11px;font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis}.profile small{display:block;color:#8b9486;font-size:9px;margin-top:1px}.profile .icon-button{margin-left:4px;color:#899380}.main-content{width:100%;max-width:1530px;margin:0 auto;padding:35px 42px 30px;flex:1}.page-stack{display:flex;flex-direction:column;gap:25px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:600;color:#81917d;margin-bottom:10px}.page-heading,.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:2px 0 3px}.page-description{font-size:12px;color:var(--color-muted);margin-top:9px;line-height:1.7}.greeting-sun{display:inline-block;color:var(--color-yellow);font-size:15px;line-height:0;margin-left:5px;vertical-align:middle}.today-label{font-size:10px;display:flex;align-items:center;gap:8px;padding:10px 13px;background:#fff;border:1px solid var(--color-border);border-radius:7px;color:#747f72;white-space:nowrap}.welcome-banner{background:var(--color-forest);min-height:245px;border-radius:var(--radius-lg);position:relative;overflow:hidden;padding:29px 34px;color:#f7f7f2}.welcome-content{position:relative;z-index:2;width:60%}.welcome-eyebrow{font-size:8px;letter-spacing:1.6px;color:#bad0b5;display:flex;align-items:center;gap:7px;margin-bottom:13px}.welcome-eyebrow>span{height:4px;width:4px;border-radius:50%;background:var(--color-yellow)}.welcome-content h2{font-weight:500;font-size:31px;line-height:1.16;letter-spacing:-.8px}.welcome-content p{font-size:11px;line-height:1.8;color:#bcd0be;margin:12px 0 19px}.welcome-content .button{font-size:10px;min-height:35px;padding:8px 12px;gap:7px}.welcome-content .button>span{display:flex;gap:20px;align-items:center}.hero-landscape{position:absolute;right:20px;bottom:0;width:40%;height:100%;max-width:380px;opacity:.95}.hero-caption{position:absolute;bottom:20px;right:29px;font-size:8px;display:flex;align-items:center;gap:7px;color:#d0e1ce;z-index:2}.panel{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 25px 16px}.panel-heading h2{font-size:14px;font-weight:600}.panel-heading p{color:#717d67;font-size:10px;margin-top:7px}.dashboard-middle{display:grid;grid-template-columns:minmax(0,1fr) 284px;gap:22px}.activity-panel{min-height:320px;display:flex;flex-direction:column}.chart-total{font-size:21px;letter-spacing:-.6px;font-weight:600;white-space:nowrap}.chart-total small{font-size:9px;color:#9aa28f;letter-spacing:0;font-weight:400}.chart-toolbar{padding:0 25px 10px;display:flex;justify-content:space-between;gap:10px;align-items:center}.chart-toolbar>span{display:flex;align-items:center;gap:6px;font-size:8px;color:#8a9482}.legend-dot{height:6px;width:6px;border-radius:2px;background:var(--color-sage)}.week-navigation{display:flex;align-items:center;gap:5px}.week-navigation>span{font-size:9px;color:#737f6e;white-space:nowrap}.week-navigation .icon-button{width:23px;height:23px}.week-navigation svg{width:13px}.weekly-chart{height:175px;margin:5px 25px 0 22px;display:flex;gap:15px}.chart-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:8px;color:#78846d;width:25px;white-space:nowrap;padding-bottom:29px}.chart-plot{position:relative;flex:1;min-width:0}.chart-grid{position:absolute;top:0;right:0;bottom:29px;left:0;display:flex;flex-direction:column;justify-content:space-between}.chart-grid>i{border-top:1px dashed #e9eee4;width:100%}.chart-bars{display:flex;justify-content:space-around;gap:18px;height:100%;position:relative}.chart-day{display:flex;flex-direction:column;align-items:center;width:36px;max-width:11%;height:100%}.bar-track{height:calc(100% - 29px);width:100%;display:flex;align-items:flex-end}.bar-fill{width:100%;min-height:2px;background:#8aae7b;border-radius:4px 4px 0 0;position:relative;transition:height .2s}.bar-fill>span{opacity:0;position:absolute;top:-22px;left:50%;transform:translate(-50%);font-size:8px;white-space:nowrap;background:var(--color-charcoal);color:#fff;border-radius:4px;padding:2px 5px;pointer-events:none}.chart-day:hover .bar-fill>span{opacity:1}.chart-day>span{height:29px;display:grid;place-items:center;color:#738361;text-transform:capitalize;font-size:9px}.chart-day.is-today .bar-fill{background:var(--color-yellow)}.chart-day.is-today>span{color:var(--color-forest);font-weight:600}.chart-footer{margin-top:auto;border-top:1px solid #f0f2ea;padding:11px 24px;display:flex;align-items:center;gap:7px}.chart-footer p{font-size:8px;color:#6e7d5e}.chart-footer-icon{color:#8b9c78;display:flex}.appointment-summary{border:1px solid #e3e7d5;border-radius:var(--radius-md);padding:22px;background:#eff2e5;position:relative;display:flex;flex-direction:column}.appointment-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.appointment-icon{width:35px;height:35px;border-radius:9px;background:#e2ead5;display:grid;place-items:center;color:#648052}.appointment-summary .eyebrow{font-size:8px;margin-bottom:8px;color:#8d9b7b;letter-spacing:1.3px}.appointment-summary h2{font-size:22px;line-height:1.18;font-weight:500;letter-spacing:-.7px}.appointment-summary>p:not(.eyebrow){font-size:10px;line-height:1.6;color:#8b967d;margin-top:9px}.appointment-hour{display:flex;gap:11px;align-items:center;margin-top:18px}.appointment-hour>strong{font-size:36px;letter-spacing:-1.5px;font-weight:500}.appointment-hour>span{font-size:9px;line-height:1.6;color:#8a967b}.appointment-dates{display:flex;gap:7px;align-items:center;font-size:8px;color:#8e997f;padding:8px 0 16px}.appointment-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dde4d0;padding-top:14px;margin-top:auto;font-size:10px;font-weight:500;color:#60764d}.status-badge{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:4px 8px;font-size:8px;font-weight:500;white-space:nowrap}.status-badge>span{height:4px;width:4px;border-radius:50%;background:currentColor}.status-green{background:#e2edd9;color:#5a7c46}.status-yellow{background:#fbf0d8;color:#916e32}.status-neutral{background:#ecefe8;color:#828d78}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:500;color:#617c50;white-space:nowrap}.text-link:hover{text-decoration:underline}.recent-panel .panel-heading{padding-bottom:22px}.table-scroll{overflow-x:auto;width:100%;scrollbar-width:thin}.data-table{border-collapse:collapse;width:100%;text-align:left;font-size:11px}.data-table thead{background:#fafbf7}.data-table th{font-size:8px;letter-spacing:.8px;color:#737f65;font-weight:500;white-space:nowrap;padding:11px 25px}.data-table td{padding:14px 25px;border-top:1px solid #edf0e8;color:#6c7a60;vertical-align:middle}.data-table tbody tr:hover{background:#fcfdf9}.data-table td:not(:first-child){white-space:nowrap}.data-table strong{font-weight:500;color:#4c5c43}.activity-cell{display:flex;align-items:center;gap:11px;min-width:220px}.activity-cell>div{min-width:0}.activity-cell strong{font-size:10px;font-weight:500;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;max-width:350px;line-height:1.6}.activity-cell div>span{display:block;font-size:8px;color:#76846a;margin-top:3px}.activity-icon{height:32px;width:32px;display:grid;place-items:center;border-radius:8px}.activity-0{background:#eff3e8;color:#839776}.activity-1{background:#fbf3e5;color:#b59b67}.activity-2{background:#eaf2ed;color:#8aa695}.align-right,.text-right{text-align:right!important}.time-cell{font-variant-numeric:tabular-nums;font-size:10px;color:#748165!important}.duration-badge{display:inline-flex;border:1px solid #e8eddf;background:#f8faf3;color:#657a4a;font-size:9px;padding:3px 8px;border-radius:5px;white-space:nowrap}.workspace-footer{margin:0 42px;padding:16px 0 23px;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;gap:20px;color:#a7ae9d;font-size:8px}.workspace-footer>span:last-child{display:flex;align-items:center;gap:5px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:41px;padding:10px 16px;border-radius:7px;line-height:1.3;font-weight:500;font-size:11px;transition:background .15s;white-space:nowrap;border:1px solid transparent}.button-primary{background:var(--color-forest);color:var(--color-white)}.button-primary:hover:not(:disabled){background:#1b4934}.button-secondary{background:#fff;border-color:#dfe5d9;color:#697b5a}.button-secondary:hover:not(:disabled){background:#f5f8ef}.button-light{background:#f1f3dd;color:var(--color-forest)}.button-light:hover{background:#fff}.button-ghost{background:transparent;color:#658051;padding:7px 10px}.button-ghost:hover{background:#f0f4e9}.button-danger{background:#a3483c;color:#fff}.button-danger:hover{background:#913e34}.icon-button{background:transparent;color:#91a080;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:6px;padding:0}.icon-button:hover:not(:disabled){background:#eff3e8;color:var(--color-forest)}.mobile-menu,.mobile-close{display:none}.loading-state,.error-state{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#839576;text-align:center;padding:25px}.loading-state p,.error-state p{font-size:12px;max-width:400px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{padding:55px 25px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.empty-icon{display:grid;place-items:center;width:55px;height:55px;background:#eff4e8;color:#7f9b6c;border-radius:15px;margin-bottom:3px}.empty-state h3{font-size:17px;font-weight:500}.empty-state p{font-size:12px;color:#8e9a81;max-width:390px;line-height:1.8}.empty-state .button{margin-top:5px}.entries-toolbar{padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.search-input{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:7px;padding-left:12px;width:330px;color:#6d8057;min-width:100px}.search-input:focus-within{border-color:var(--color-forest)}.search-input input{background:transparent;border:0;padding:9px 10px;min-height:38px;box-shadow:none;font-size:11px}.search-input .icon-button{margin-right:4px;flex-shrink:0}.toolbar-actions{display:flex;gap:20px;align-items:center}.result-count{font-size:10px;color:#93a082;white-space:nowrap}.result-count>span{padding:0 7px}.result-count>strong{color:#5f7b4f;font-weight:500}.row-actions{display:flex;justify-content:flex-end;gap:3px}.delete-button:hover:not(:disabled){color:var(--color-danger);background:#fbf0e9}.entries-table td{padding-top:18px;padding-bottom:18px}.entries-table .activity-cell strong{-webkit-line-clamp:2;max-width:400px;min-width:200px}.filter-row{padding:20px 25px 22px;display:flex;align-items:flex-end;gap:15px;background:#fcfdf9;border-top:1px solid #eff2e8}.filter-row .field{flex:1;min-width:0}.filter-row input,.filter-row select{font-size:11px;padding:9px 10px}.table-pagination{padding:17px 25px;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;color:#6e8059;font-size:10px}.table-pagination>div{display:flex;align-items:center;gap:12px}.page-footnote{display:flex;gap:8px;align-items:center;font-size:10px;color:#90a07f}.modal{padding:28px;width:min(540px,calc(100% - 32px));border:1px solid var(--color-border);border-radius:16px;color:var(--color-text);background:var(--color-white);box-shadow:0 20px 80px #1d342833;max-height:90vh;overflow-y:auto}.modal::backdrop{background:#203b2ccc;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px;gap:15px}.modal-header h2{font-size:23px;font-weight:500;letter-spacing:-.6px}.modal-header .eyebrow{font-size:8px;margin-bottom:9px}.modal-header p:not(.eyebrow){font-size:11px;color:#687d53;margin-top:9px;line-height:1.7}.modal-header .icon-button{flex-shrink:0}.entry-form,.form-stack{display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:7px;min-width:0;line-height:1.5}.field-label{font-size:11px;font-weight:500;color:#5f7452}.field input,.field select,.field textarea{font-size:12px}.field-hint{font-size:10px;color:#687a53}.field-error{font-size:10px;color:var(--color-danger)}.field-invalid input,.field-invalid select,.field-invalid textarea{border-color:#b56b54}.form-row,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.duration-preview{display:flex;align-items:center;gap:8px;padding:12px;border-radius:7px;background:#eaf0e2;color:#6e865d;font-size:11px}.duration-preview strong{margin-left:auto;font-weight:600}.form-guidance{display:flex;align-items:flex-start;gap:8px;color:#6e8059;font-size:10px;line-height:1.7}.form-guidance>svg{margin-top:2px}.form-error{padding:11px 13px;background:#f9ece4;border-radius:6px;color:var(--color-danger);font-size:11px;line-height:1.7}.modal-actions{padding-top:20px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.delete-summary{padding:16px;background:#fff;border:1px solid var(--color-border);border-radius:8px;margin-bottom:18px}.delete-summary p{font-size:12px;line-height:1.8}.delete-summary span{font-size:10px;color:#90a17d;display:block;margin-top:8px}.toast{position:fixed;bottom:25px;left:calc(50% + var(--sidebar-width) / 2);transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--color-forest);color:var(--color-white);font-size:12px;border-radius:9px;box-shadow:0 6px 30px #245c4233;max-width:calc(100% - 35px)}.toast>button{background:transparent;color:#b6cca4;display:flex;margin-left:10px}.appointment-overview{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:23px 10px}.appointment-overview-item{display:flex;gap:14px;align-items:center;padding:0 23px;border-right:1px solid var(--color-border)}.appointment-overview-item:last-child{border:0}.overview-icon{width:40px;height:40px;border-radius:10px;background:#eff3e6;color:#7e9868;display:grid;place-items:center;flex-shrink:0}.appointment-overview-item .muted{font-size:10px;display:block}.appointment-overview-item strong{font-size:25px;font-weight:500;letter-spacing:-.8px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:8px}.section-heading h2{font-size:16px}.section-heading p{font-size:11px;color:#687d53;margin-top:7px}.appointment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.appointment-card{padding:25px}.appointment-card.is-current{border-top:3px solid var(--color-sage)}.appointment-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.appointment-card-icon{height:40px;width:40px;background:#edf3e5;color:#7b9866;display:grid;place-items:center;border-radius:10px}.appointment-card-title h3{font-size:17px;font-weight:500}.appointment-person{font-size:10px;color:#94a285;display:flex;gap:5px;margin-top:8px}.appointment-hours{display:flex;align-items:baseline;gap:10px;margin:16px 0}.appointment-hours strong{font-size:38px;font-weight:500;letter-spacing:-1.5px}.appointment-hours>span{font-size:11px;color:#6c8057}.appointment-period{display:flex;gap:10px;color:#98a889;align-items:center;border-top:1px solid #edf1e6;padding-top:18px}.appointment-period>div>span{font-size:9px;display:block;margin-bottom:4px}.appointment-period strong{font-size:11px;font-weight:400;color:#70865e}.appointment-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:22px;border-top:1px solid #edf1e6;padding-top:14px;font-size:9px;color:#91a281;min-height:42px}.report-filters{padding:25px;display:flex;align-items:center;justify-content:space-between;gap:25px}.report-filter-heading{display:flex;gap:14px;align-items:center}.report-filter-heading h2{font-size:14px}.report-filter-heading p{font-size:10px;color:#687a53;margin-top:6px}.report-filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:48%}.report-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.report-stat{padding:23px;position:relative}.report-stat-icon{position:absolute;right:22px;top:22px;color:#8ea37b}.report-stat>.muted{font-size:11px}.report-stat>strong{display:block;font-size:33px;font-weight:500;margin:12px 0;letter-spacing:-1px}.report-stat>strong>small{font-size:14px;color:#748361;margin-left:6px}.report-stat>p{font-size:10px;color:#6d7d5a}.report-format{display:flex;gap:6px;align-items:center;color:#95a487;font-size:10px}.report-summary .panel-heading{padding-bottom:24px}.report-summary .panel-heading h2{font-size:20px;font-weight:500}.cell-detail{display:block;font-size:9px;color:#9ba98d;margin-top:6px}.report-table tfoot td{background:#f6f8f0;font-weight:600;padding-top:16px;padding-bottom:16px}.report-note{padding:18px 25px;display:flex;align-items:center;gap:8px;color:#6a7c56;font-size:10px;border-top:1px solid var(--color-border)}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.help-card{padding:25px;display:flex;flex-direction:column;gap:20px}.help-step{display:flex;align-items:center;justify-content:space-between}.help-step>span{display:grid;place-items:center;width:50px;height:50px;border-radius:12px;background:#edf3e4;color:#75975f}.help-step>small{font-size:22px;letter-spacing:-.8px;color:#dce5d3}.help-card h2{font-size:17px;line-height:1.4;font-weight:500}.help-card p{font-size:11px;color:#687d53;line-height:1.9;flex:1}.help-card .text-link{font-size:10px}.help-rules{padding:28px;display:flex;gap:20px}.help-rules h2{font-size:17px;font-weight:500}.help-rules ul{padding-left:15px;margin:18px 0 0;color:#81966d;line-height:2.1;font-size:12px}.demo-explanation{padding:20px;background:#f3eedc;border-radius:10px;display:flex;align-items:center;gap:20px}.demo-explanation p{font-size:11px;color:#9f8e69;line-height:1.8}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:var(--color-forest);padding:55px;color:var(--color-white);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-story .brand{padding:0}.login-story .brand-text{color:var(--color-white)}.login-story .brand-text>span{color:#a5c49a}.login-story h1{font-size:49px;letter-spacing:-1.8px;font-weight:450;line-height:1.15;margin:20px 0}.login-story>div>p{color:#b2c8a6;font-size:13px;line-height:1.9;max-width:320px}.login-story>span{font-size:10px;color:#b2c5a6}.login-art{margin-top:50px;position:relative;height:170px;color:#96b786}.login-art>span{position:absolute;height:90px;width:90px;border:1px solid #87ab7280;border-radius:50%;left:190px;top:20px}.login-art>span:last-child{left:245px;top:65px;background:var(--color-yellow);border:0;width:40px;height:40px}.login-form-area{display:flex;align-items:center;justify-content:center;padding:40px}.login-form{display:flex;flex-direction:column;gap:21px;width:100%;max-width:355px}.login-lock{height:55px;width:55px;border-radius:14px;display:grid;place-items:center;color:#76975f;background:#e9f0df;margin-bottom:15px}.login-form .eyebrow{font-size:8px;margin:0}.login-form h2{font-size:28px;font-weight:500;letter-spacing:-.8px}.login-form>p:not(.eyebrow){font-size:12px;color:#6a7d55;margin-top:-7px}.login-form .field-label{font-size:11px}.login-help{font-size:10px;color:#6f805d;text-align:center;line-height:1.8}.password-input{position:relative}.password-input input{padding-right:45px}.password-input .icon-button{position:absolute;right:6px;top:6px}.inline-notice{padding:14px;background:#f1f3e7;border:1px solid #e1e7d5;border-radius:8px;font-size:11px;color:#81986a;line-height:1.8}.appointment-person-identification{margin:0;color:var(--color-forest);font-size:13px;overflow-wrap:anywhere}.fatal-error{min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:20px;text-align:center;padding:25px}.fatal-error h1{font-size:25px}.fatal-error p{color:#879b75;font-size:13px}@media(min-width:1550px){.main-content{padding-top:42px}.welcome-banner{min-height:265px}.welcome-content h2{font-size:36px}.hero-landscape{right:70px;width:38%}.dashboard-middle{grid-template-columns:minmax(0,1fr) 325px}.activity-panel{min-height:355px}.weekly-chart{height:200px}.appointment-summary{padding:25px}.data-table td{padding-top:18px;padding-bottom:18px}}@media(max-width:1200px){:root{--sidebar-width: 220px}.sidebar{padding-left:15px;padding-right:15px}.main-content{padding:30px}.topbar{padding:0 30px}.academic-period{display:none}.workspace-footer{margin:0 30px}.dashboard-middle{grid-template-columns:minmax(0,1fr) 250px;gap:17px}.panel-heading,.data-table td,.data-table th{padding-left:20px;padding-right:20px}.activity-cell strong{max-width:270px}.profile>div{display:none}.profile{padding-left:0;border:0}.hero-landscape{width:43%;right:0}.welcome-content{width:65%}.report-filters{align-items:flex-start;flex-direction:column}.report-filter-fields{width:100%}.help-grid{gap:15px}.help-card{padding:20px}.help-card h2{font-size:16px}}@media(max-width:1000px){.main-content{padding:25px}.topbar{padding:0 25px}.dashboard-middle{grid-template-columns:minmax(0,1fr)}.appointment-summary{display:none}.today-label{font-size:9px}.welcome-banner{padding-left:26px}.welcome-content h2{font-size:28px}.welcome-content p{font-size:10px}.hero-caption{font-size:7px;right:18px}.activity-panel{min-height:330px}.chart-bars{gap:25px}.chart-day{width:40px}.weekly-chart{height:180px}.appointment-grid{grid-template-columns:1fr}.appointment-overview{grid-template-columns:repeat(3,1fr);padding:20px 0}.appointment-overview-item{flex-direction:column;align-items:flex-start;gap:10px;padding:0 17px}.appointment-overview-item .muted{font-size:9px}.help-grid{grid-template-columns:1fr}.help-card{gap:14px}.help-step>small{font-size:19px}.report-stats{gap:13px}.report-stat{padding:18px}.report-stat-icon{display:none}.report-stat>.muted{font-size:9px}.entries-toolbar{flex-wrap:wrap}.search-input{flex:1}.toolbar-actions{gap:12px}.result-count{font-size:9px}.filter-row{flex-wrap:wrap}.filter-row .field{flex-basis:calc(50% - 10px)}.page-footnote{align-items:flex-start;line-height:1.8}.page-heading{align-items:flex-start}.page-heading h1{font-size:26px}.page-action .button{font-size:10px;padding-left:11px;padding-right:11px}.login-story{padding:35px}.login-story h1{font-size:37px}.login-form h2{font-size:24px}}@media(max-width:760px){:root{--sidebar-width: 244px}.sidebar{transform:translate(-100%);transition:transform .2s}.sidebar.is-open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#203b2c80;z-index:29}.mobile-menu{display:grid}.mobile-close{display:grid;position:absolute;top:11px;right:10px}.workspace-main{margin-left:0}.topbar{height:66px;padding:0 20px}.breadcrumb{gap:10px;font-size:10px}.profile{gap:6px}.profile .avatar{width:30px;height:30px;font-size:10px}.profile .icon-button{width:25px}.topbar-right{gap:0}.main-content{padding:25px 20px}.page-stack{gap:20px}.dashboard-heading h1{font-size:28px}.eyebrow{font-size:8px}.page-description{font-size:11px;margin-top:7px}.today-label{padding:8px;font-size:8px}.today-label svg{width:13px}.welcome-banner{min-height:230px}.welcome-content{width:70%}.welcome-content h2{font-size:29px}.welcome-content p{font-size:10px}.hero-landscape{width:43%;right:-5px;opacity:.8}.hero-caption{display:none}.dashboard-middle{gap:20px}.weekly-chart{height:180px}.activity-panel{min-height:320px}.data-table th,.data-table td{padding-left:18px;padding-right:18px}.data-table .activity-cell strong{max-width:260px}.workspace-footer{margin:0 20px;font-size:8px;padding-bottom:20px}.workspace-footer>span:nth-child(2){display:none}.toast{left:50%;width:max-content;font-size:11px;bottom:18px}.page-heading{align-items:center}.page-heading h1{font-size:26px}.page-action .button>svg{width:15px}.appointment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-card{padding:20px}.appointment-period strong{font-size:10px}.appointment-overview-item{flex-direction:row;align-items:center}.appointment-overview-item .overview-icon{width:32px;height:32px}.appointment-overview-item strong{font-size:23px}.report-filters{padding:22px}.report-stats{gap:15px}.report-stat{padding:20px}.report-stat>.muted{font-size:10px}.login-page{grid-template-columns:1fr}.login-story{display:none}.login-form-area{min-height:100vh;padding:30px}.login-lock{background:var(--color-forest);color:var(--color-white)}.login-form h2{font-size:28px}.help-grid{grid-template-columns:repeat(3,1fr)}.help-card{padding:18px}.help-card h2{font-size:14px}.help-card p{font-size:10px}.help-card .text-link{font-size:9px;white-space:normal}.help-card .text-link svg{width:13px}.help-step>span{width:40px;height:40px}.help-rules{padding:22px;gap:14px}.help-rules .overview-icon{display:none}.help-rules ul{font-size:11px}}@media(max-width:520px){.main-content{padding:24px 16px}.topbar{padding:0 15px}.breadcrumb{gap:7px}.breadcrumb>span{display:none}.breadcrumb>svg{display:none}.profile .avatar{width:28px;height:28px}.today-label{display:none}.dashboard-heading h1{font-size:28px}.welcome-banner{padding:25px;min-height:242px}.welcome-content{width:100%}.welcome-content h2{font-size:29px}.welcome-content p{max-width:210px}.welcome-eyebrow{font-size:7px;letter-spacing:1.2px}.hero-landscape{width:56%;right:-35px;height:67%;opacity:.4}.welcome-content .button{position:relative;z-index:2}.panel-heading{padding:20px 18px 15px}.panel-heading h2{font-size:13px}.panel-heading p{font-size:9px}.chart-total{font-size:19px}.chart-total small{font-size:8px}.chart-toolbar{padding-left:18px;padding-right:18px}.chart-toolbar>span{font-size:7px}.week-navigation>span{font-size:8px}.weekly-chart{margin-left:15px;margin-right:18px;gap:9px;height:175px}.chart-bars{gap:16px}.chart-day{width:28px}.chart-footer{padding:12px 18px}.chart-footer p{font-size:7px}.data-table .activity-cell strong{max-width:220px;font-size:10px}.recent-table .activity-cell{min-width:250px}.recent-panel .panel-heading{padding-bottom:18px}.text-link{font-size:9px}.workspace-footer{margin:0 16px;font-size:7px;gap:10px}.page-heading{align-items:flex-start;flex-direction:column;gap:17px}.page-heading h1{font-size:28px}.page-action .button{min-height:39px;font-size:11px;padding:10px 13px}.entries-toolbar{padding:18px;gap:14px}.search-input{width:100%;flex-basis:100%}.toolbar-actions{justify-content:space-between;width:100%}.filter-row{padding:17px;gap:12px}.filter-row .field:last-of-type{flex-basis:100%}.table-pagination{padding:15px;font-size:8px;gap:8px}.table-pagination>div{gap:4px}.table-pagination .icon-button{width:26px;height:26px}.page-footnote{font-size:9px}.modal{padding:23px 20px}.modal-header h2{font-size:22px}.modal-header p:not(.eyebrow){font-size:10px}.form-row,.form-grid{gap:12px}.field-label{font-size:10px}.field input,.field select,.field textarea{font-size:11px}.modal-actions{gap:8px}.modal-actions .button{font-size:10px;padding:10px 12px}.appointment-overview-item{padding:0 13px;flex-direction:column;gap:10px;align-items:flex-start}.appointment-overview-item .muted{font-size:8px;line-height:1.7}.appointment-overview-item strong{font-size:23px}.appointment-overview-item .overview-icon{width:30px;height:30px}.appointment-grid{grid-template-columns:1fr}.section-heading{gap:15px}.section-heading h2{font-size:15px}.section-heading p{font-size:10px}.section-heading .result-count{font-size:9px}.report-filter-fields{grid-template-columns:1fr;gap:15px}.report-stats{gap:9px}.report-stat{padding:16px 12px}.report-stat>.muted{font-size:8px}.report-stat>strong{font-size:28px;margin:10px 0}.report-stat>p{font-size:8px;line-height:1.7}.report-format{font-size:8px}.report-format svg{width:14px}.report-note{font-size:9px;align-items:flex-start;line-height:1.8;padding:16px 18px}.help-grid{grid-template-columns:1fr}.help-card{padding:23px;gap:16px}.help-card h2{font-size:18px}.help-card p{font-size:12px}.help-card .text-link{font-size:11px}.help-step>span{width:46px;height:46px}.help-step>small{font-size:24px}.demo-explanation{flex-direction:column;align-items:flex-start;gap:12px}.demo-explanation p{font-size:10px}.help-rules h2{font-size:16px}.login-form-area{padding:25px}.login-form h2{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}.sync-warning{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f8f0db;border:1px solid #e8d6a7;border-radius:10px;padding:15px 18px;margin-bottom:22px;color:#7c6338;font-size:11px}.sync-warning strong{font-weight:500}.sync-warning p{font-size:10px;margin-top:5px}.sync-warning .button{flex-shrink:0}@media(max-width:520px){.sync-warning{flex-direction:column;align-items:flex-start;gap:12px}}
