:root{--primary: #696cff;--primary-soft: #e7e7ff;--primary-hover: #dedeff;--canvas: #f5f5f9;--surface: #ffffff;--surface-raised: #f7f8f8;--ink: #384551;--body: #646e78;--muted: #a7acb2;--error: #ff3e1d;--success: #71dd37;--warning: #ffab00;--info: #03c3ec;--border: #e4e6e8;--border-strong: #dee0e5;--shadow-sm: 0 3px 8px rgba(34, 48, 62, .1);--shadow-md: 0 2px 6px rgba(34, 48, 62, .08);--shadow-lg: 0 5px 22px rgba(34, 48, 62, .18);--shadow-primary: 0 2px 4px rgba(105, 108, 255, .4)}html,body,#root{min-height:100%;margin:0}body{background:var(--canvas);color:var(--body);font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.38;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input{letter-spacing:0;font-family:inherit}.login-page{min-height:100vh;display:grid;place-items:center;padding:32px 24px;background:var(--canvas)}.login-shell{width:min(1120px,100%);min-height:640px;display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:center;gap:48px;padding:56px;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-lg)}.login-visual{align-self:stretch;display:grid;align-content:center;gap:28px}.login-logo{width:150px;height:auto;object-fit:contain}.login-copy{max-width:580px}.login-copy h1{margin:0 0 14px!important;color:var(--ink)!important;font-family:inherit;font-size:28px!important;line-height:1.38!important;font-weight:700!important;letter-spacing:-.5px}.login-copy .ant-typography{max-width:520px;color:var(--body);font-size:15px;line-height:1.47}.login-region-row{display:flex;gap:12px;max-width:520px}.login-region-row .ant-input,.login-region-row .ant-select{width:240px;height:42px}.login-region-row .ant-select-selector{height:42px!important;border-radius:6px!important;align-items:center}.login-region-row .ant-input{border-radius:6px}.login-card{width:100%;border-radius:6px}.ant-card.login-portal-card{align-self:center;margin-bottom:0;background:var(--surface-raised);border:1px solid var(--border);box-shadow:none}.login-card-stack{width:100%}.login-card .ant-typography{color:var(--ink)}.login-card .ant-form-item-control-input-content>.ant-input,.login-card .ant-input-affix-wrapper{height:42px;padding-block:7px;border-radius:6px}.login-card .ant-input-affix-wrapper .ant-input{height:auto;padding-block:0}.ant-btn.forgot-link{float:right;height:auto;margin-bottom:8px;padding:0;color:var(--primary)}.ant-btn.forgot-link:hover{color:var(--primary)!important;background:transparent}.app-shell{min-height:100vh;width:100%;max-width:none;margin:0;overflow:hidden;background:var(--canvas);border:0;border-radius:0;box-shadow:none}.sidebar{position:relative;background:var(--surface)!important;border-right:1px solid var(--border);overflow:hidden;min-height:100vh}.sidebar .ant-layout-sider-children{display:flex;flex-direction:column;height:100vh}.sidebar .side-menu{flex:1 1 auto;overflow-y:auto}.brand-block{display:grid;place-items:center;padding:24px 16px 20px}.brand-block img{width:168px;max-width:100%;height:auto;object-fit:contain}.side-menu{border-inline-end:0!important;padding:0 12px}.side-menu .ant-menu-item{height:42px;margin:4px 0;border-radius:6px;color:var(--body);font-size:15px;font-weight:400}.side-menu .ant-menu-item .ant-menu-item-icon{color:var(--muted)}.side-menu .ant-menu-item:hover{color:var(--ink)}.side-menu .ant-menu-item-selected{color:var(--primary);background:var(--primary-soft)!important;font-weight:500}.side-menu .ant-menu-item-selected .ant-menu-item-icon{color:var(--primary)}.sidebar-footer{display:grid;flex:0 0 auto;gap:4px;margin:8px 12px 20px}.sidebar-footer .ant-btn{justify-content:flex-start;color:var(--body)}.sidebar-footer .ant-btn:hover{color:var(--ink);background:var(--surface-raised)}.topbar{min-height:64px;height:64px;line-height:normal;background:var(--surface);border-bottom:0;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:14px;padding:0 24px;flex-wrap:nowrap;z-index:10}.ant-btn.mobile-menu-btn{display:none}.top-search{width:260px;min-width:200px;height:38px;border-radius:6px;flex:0 0 auto}.top-nav{display:flex;align-items:center;gap:12px;flex:1;justify-content:center;min-width:0;overflow:hidden}.top-nav button{appearance:none;border:0;border-radius:4px;background:transparent;color:var(--body);font-family:inherit;font-weight:400;line-height:1.38;cursor:pointer;white-space:nowrap;font-size:15px}.top-nav button:hover{color:var(--ink)}.top-nav button:focus-visible{outline:0;box-shadow:0 0 0 .15rem #646e78bf}.ant-btn.portal-pill{height:38px;padding:0 20px;border:0;border-radius:6px;color:#fff;background:var(--primary);box-shadow:var(--shadow-primary);font-size:15px;font-weight:500}.ant-btn.portal-pill:hover{color:#fff!important;background:var(--primary)!important;filter:brightness(1.05)}.user-chip{display:flex;align-items:center;gap:8px;min-width:0;max-width:300px;white-space:nowrap}.user-chip-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.user-chip-text .ant-typography{max-width:220px;overflow:hidden;text-overflow:ellipsis}.user-chip-text .ant-typography-secondary{font-size:13px}.logout-btn{border-radius:6px}.mobile-drawer .ant-drawer-body{padding:0}.mobile-drawer .side-menu{border-inline-end:0!important}.content{min-height:calc(100vh - 64px);padding:24px;background:var(--canvas);overflow:auto}.ant-card{border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-sm)}.ant-card .ant-card-head{border-bottom-color:var(--border)}.ant-card .ant-card-head-title{color:var(--ink);font-size:15px;font-weight:500}.ant-card .ant-card-extra,.ant-typography{color:var(--body)}h1.ant-typography,h2.ant-typography,h3.ant-typography,h4.ant-typography,h5.ant-typography{color:var(--ink)}.ant-form-item .ant-form-item-label>label{color:var(--ink);font-size:13px;font-weight:500}.ant-form-item .ant-form-item-label>label.ant-form-item-required:before{color:var(--error)}.ant-table-thead>tr>th{color:var(--ink);font-size:13px;font-weight:500;letter-spacing:.2px;text-transform:uppercase}.ant-table-tbody>tr>td{color:var(--body)}.ant-statistic .ant-statistic-title{color:var(--body);font-size:13px}.ant-statistic .ant-statistic-content{color:var(--ink);font-size:24px;font-weight:500}.dashboard-page{width:100%}.admin-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:28px 32px;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-sm)}.admin-hero h1{max-width:760px;margin:8px 0 12px!important;color:var(--ink)!important;font-family:inherit;font-size:28px!important;line-height:1.38!important;font-weight:700!important;letter-spacing:-.5px}.admin-hero .ant-typography{max-width:680px;color:var(--body);font-size:15px;line-height:1.47}.admin-hero .eyebrow{color:var(--primary)!important;font-weight:500;letter-spacing:.4px}.eyebrow{color:var(--primary);font-weight:500;text-transform:uppercase;font-size:13px;letter-spacing:.4px}.platform-metrics{max-width:none}.metric-row{max-width:none;margin:0 auto}.quick-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.quick-flow h4{margin:0 0 8px!important;color:var(--ink)!important;font-size:18px;font-weight:500}.quick-flow .ant-typography{color:var(--body);font-size:15px}.union-flow{grid-template-columns:repeat(3,minmax(260px,1fr))}.ant-space.card-actions{display:flex;flex-wrap:wrap;margin-top:18px}.dashboard-lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dashboard-lists .ant-list-item{color:var(--body);font-size:15px}.hero-panel{position:relative;min-height:470px;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--surface);box-shadow:var(--shadow-lg)}.hero-controls{position:relative;z-index:2;display:flex;justify-content:space-between;gap:12px;padding:18px 22px 0}.region-input,.region-select{width:240px}.region-input .ant-input,.region-input{height:42px;border-radius:6px}.region-select .ant-select-selector{height:42px!important;border-radius:6px!important;align-items:center}.hero-content{position:relative;z-index:2;max-width:650px;padding:34px 52px}.hero-content h1{margin:0 0 14px!important;color:var(--ink)!important;font-family:inherit;font-size:28px!important;line-height:1.38!important;font-weight:700!important;letter-spacing:-.5px}.hero-content .ant-typography{max-width:560px;color:var(--body);font-size:15px;line-height:1.47}.hero-cta{height:38px;margin-top:12px;padding:0 22px;border:0;border-radius:6px;color:#fff;background:var(--primary);box-shadow:var(--shadow-primary)}.hero-cta:hover{color:#fff!important;filter:brightness(1.05)}.feature-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:970px;margin:-78px auto 0;position:relative;z-index:3}.feature-card .ant-card-body{position:relative;min-height:150px;display:grid;justify-items:center;text-align:center;padding:22px 28px}.feature-card h3,.portal-card h3{margin:8px 0 6px!important;font-family:inherit;font-weight:500!important;color:var(--ink)!important}.feature-card .ant-typography{color:var(--body);line-height:1.47}.feature-icon{font-size:48px;color:var(--primary)}.feature-check{position:absolute;top:12px;right:12px;color:var(--success);font-size:19px}.portal-card .ant-card-body{padding:22px 24px;text-align:center}.portal-card .ant-input,.portal-card .ant-input-affix-wrapper{height:38px;border-radius:6px}.portal-card .ant-input-affix-wrapper .ant-input{height:auto;min-width:0;border-radius:0}.quick-actions{width:100%}.news-section{max-width:970px;margin:10px auto 0}.section-heading{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;margin-bottom:12px}.section-heading h2{margin:0!important;font-family:inherit;font-size:24px!important;font-weight:500!important;color:var(--ink)}.section-heading span{height:1px;background:var(--border)}.news-card{overflow:hidden}.news-card img{width:100%;height:150px;object-fit:cover}.news-card h4{margin:0 0 8px!important;font-family:inherit}.page-stack{width:100%}.page-heading{width:100%;justify-content:space-between;align-items:center;flex-wrap:wrap}.page-heading h2,.page-heading h3{margin:0;color:var(--ink)}.form-alert{margin-bottom:12px}.embedded-form-group{padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised)}.form-section{padding:16px 20px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.form-section-highlight{background:var(--surface-raised);border-color:var(--border)}.form-section h5{margin:0 0 14px!important;color:var(--ink)!important;font-size:15px;font-weight:500}.json-preview{margin:0;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.table-shell{width:100%;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm)}.table-shell .ant-table-wrapper{width:100%}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.table-toolbar .ant-input-affix-wrapper{width:min(420px,100%);height:38px;border-radius:6px}.table-shell .ant-table{font-size:15px}.table-shell .ant-table-thead>tr>th{background:var(--surface-raised)!important;color:var(--ink);font-size:13px;font-weight:500;letter-spacing:.2px;text-transform:uppercase}.table-shell .ant-table-tbody>tr>td{color:var(--body);padding-top:14px;padding-bottom:14px}.table-shell .ant-pagination{padding-right:16px}.plan-calendar-shell{width:100%;border:1px solid var(--border);border-radius:6px;overflow:auto;background:var(--surface);box-shadow:var(--shadow-sm)}.plan-calendar-toolbar{position:sticky;left:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.plan-calendar-toolbar h4{margin:0!important;color:var(--ink);text-transform:capitalize}.plan-calendar-grid{min-width:980px}.plan-day-grid{min-width:1180px}.plan-day-header,.plan-calendar-header,.plan-calendar-row{display:grid;grid-template-columns:240px 1fr}.plan-member-head,.plan-member-cell{padding:16px 18px;border-right:1px solid var(--border);color:var(--ink);font-weight:500}.plan-member-head{background:var(--surface-raised)}.plan-member-cell{display:flex;align-items:center;min-height:92px;border-top:1px solid var(--border);background:var(--surface)}.plan-days,.plan-row-track,.plan-hours,.plan-day-track{display:grid}.plan-days,.plan-row-track{grid-template-columns:repeat(var(--plan-day-count),minmax(150px,1fr))}.plan-hours,.plan-day-track{grid-template-columns:repeat(var(--plan-hour-count),minmax(84px,1fr))}.plan-day-cell{padding:16px 14px;border-left:1px solid var(--border);background:var(--surface-raised);color:var(--ink);font-weight:500;text-transform:capitalize}.plan-row-track,.plan-day-track{position:relative;min-height:92px;border-top:1px solid var(--border)}.plan-track-bg{grid-row:1;min-height:92px;border-left:1px solid var(--border)}.plan-hour-cell{padding:16px 10px;border-left:1px solid var(--border);background:var(--surface-raised);color:var(--body);font-size:13px;font-weight:500}.plan-hour-bg{grid-row:1;min-height:92px;border-left:1px solid var(--border)}.plan-block{grid-row:1;align-self:center;min-height:68px;margin:10px 8px;padding:10px 12px;border:0;border-radius:6px;background:var(--primary);color:#fff;text-align:left;box-shadow:var(--shadow-primary);cursor:pointer}.plan-block:hover{filter:brightness(1.05)}.plan-block strong,.plan-block span,.plan-block small{display:block}.plan-block strong{font-size:14px;line-height:1.25}.plan-block span{margin-top:4px;font-size:13px}.plan-block small{margin-top:4px;color:#ffffffd1}.plan-empty-row,.plan-calendar-empty{color:var(--muted)}.plan-empty-row{grid-column:1 / -1;grid-row:1;align-self:center;justify-self:center}.plan-calendar-empty{padding:32px;text-align:center}.plan-month-grid{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));min-width:1120px}.plan-month-weekday{padding:12px 14px;border-left:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-raised);color:var(--ink);font-size:13px;font-weight:500;letter-spacing:.2px;text-transform:uppercase}.plan-month-cell{min-height:154px;padding:10px;border-left:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.plan-month-cell-muted{background:var(--surface-raised)}.plan-month-cell-muted .plan-month-date{color:var(--muted)}.plan-month-date{width:32px;height:32px;margin-bottom:8px;border:0;border-radius:999px;background:transparent;color:var(--ink);font-weight:500;cursor:pointer}.plan-month-date:hover{background:var(--primary-soft);color:var(--primary)}.plan-month-event,.plan-month-more{width:100%;border:0;border-radius:4px;text-align:left;cursor:pointer}.plan-month-event{padding:7px 9px;background:var(--primary-soft);color:var(--primary)}.plan-month-event:hover{background:var(--primary-hover)}.plan-month-event span,.plan-month-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-month-event span{font-size:12px;font-weight:500}.plan-month-event small{margin-top:2px;color:var(--body)}.plan-month-more{padding:5px 8px;background:transparent;color:var(--primary);font-weight:500}@media(max-width:1480px){.top-nav{gap:12px}}@media(max-width:1180px){.top-nav{display:none}.top-search{flex:1}}@media(max-width:1024px){.ant-layout-sider.sidebar{display:none}.ant-btn.mobile-menu-btn{display:inline-flex}.topbar{padding:0 16px;gap:10px}.content{padding:20px}}@media(max-width:820px){.login-page{padding:0}.login-shell{width:100%;min-height:100vh;grid-template-columns:1fr;gap:32px;border:0;border-radius:0;padding:28px 22px;box-shadow:none}.login-copy h1{font-size:28px!important}.login-region-row{display:grid}.login-region-row .ant-input,.login-region-row .ant-select{width:100%}.topbar{padding:0 12px;gap:8px}.ant-btn.portal-pill,.user-chip{display:none}.content{padding:16px}.admin-hero{grid-template-columns:1fr;padding:22px}.admin-hero h1{font-size:24px!important}.hero-controls{display:grid}.region-input,.region-select{width:100%}.hero-content{padding:28px 22px}.hero-content h1{font-size:24px!important}.feature-strip{grid-template-columns:1fr;margin:-60px 14px 0;gap:14px}.quick-flow,.dashboard-lists{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;inset:0 auto auto 0;width:100%;padding:12px}.no-print{display:none!important}}
