/* PHASE8 / Edition 2. A calmer canvas, expressive landmarks, task-first forms. */
:root{--canvas:#f4f7f8;--green-700:#087f79;--green-600:#098e83;--green-100:#dcf6ed;--ink-950:#173c45;--line:#dce8e9;--sidebar-width:280px}
.vivid-body{font-size:15px;background:var(--canvas);color:#24444c}
.vivid-body .sidebar{background:#fff;border-left:1px solid #e1eaea;box-shadow:none}
.vivid-body .brand{color:#17454b;border-color:#e9efef;padding-block:24px}
.vivid-body .brand small{color:#64858a}.vivid-body .brand-dot{color:#e79167}
.vivid-body .brand-mark{background:#087f79;color:white;border:0;border-radius:16px;transform:rotate(-7deg)}
.vivid-body .brand-mark .ui-icon{color:white;transform:rotate(7deg)}
.vivid-body .nav-search{color:#66878b;margin-bottom:16px}.vivid-body .nav-search input{background:#f3f7f7;color:#234c53;border-color:#e5eeee;font-size:13px}.vivid-body .nav-search input::placeholder{color:#71898d}
.vivid-body .nav-group{margin-top:12px}.vivid-body .nav-group summary{color:#7a9093;font-size:11px;padding-top:10px}
.vivid-body .nav-item{color:#49666c;padding:11px 13px;font-size:13px;font-weight:600;border-radius:12px;margin-block:4px}
.vivid-body .nav-item .nav-icon{color:#759398}.vivid-body .nav-item:hover{background:#f0f8f6;color:#087c70}.vivid-body .nav-item.is-active{background:#e0f6ef;border:1px solid #c8ecdf;color:#066d61;box-shadow:inset -4px 0 #16a18c}.vivid-body .nav-item.is-active .nav-icon{color:#0a8a76}
.vivid-body .sidebar-footer{background:#f7faf9;border-color:#e0ece7}.vivid-body .sidebar-user strong{color:#2b4c52}.vivid-body .sidebar-user small{color:#69858a}.vivid-body .sidebar-help{color:#317969}.vivid-body .avatar{background:#ffe8d5;border-color:#f6ddc7;color:#985c31}.vivid-body .nav-no-results{color:#66848a}
.vivid-body .topbar{min-height:90px;background:#ffffffed}.vivid-body .topbar h1{font-size:23px;color:#173f46}.vivid-body .topbar .eyebrow{color:#6d8c90;font-size:11px}.vivid-body .branch-switcher{background:#eef8f4;border-color:#d8eee4}.vivid-body .branch-switcher select{min-height:26px;background:transparent;border:0;font-size:13px;padding:0}.vivid-body .branch-switcher label{font-size:10px}
.vivid-body .content-wrap{padding-top:30px}.vivid-body .welcome-banner{background:linear-gradient(115deg,#09665f,#0a8f81);border:0;border-radius:24px;padding:35px 38px;box-shadow:0 14px 36px #0b756217;isolation:isolate;min-height:190px}
.vivid-body .welcome-banner:after{width:320px;height:320px;left:16%;top:-210px;border:36px solid #ffe7b21a;z-index:-1}.vivid-body .welcome-banner:before{content:"";position:absolute;left:-45px;bottom:-120px;width:270px;height:270px;border:40px solid #97e5d32a;border-radius:50%;z-index:-1}.vivid-body .welcome-copy h2{font-size:clamp(26px,2.6vw,38px);font-weight:700;line-height:1.5}.vivid-body .welcome-copy p{color:#ddf6ed;font-size:14px}.vivid-body .light-eyebrow{color:#d4f8e9}.vivid-body .role-pills span{border-color:#ffffff33;color:white;background:#ffffff12;font-size:11px}.vivid-body .welcome-date{color:#d4f3e8}.vivid-body .welcome-date strong{font-size:25px}
.v-quick-section{margin:29px 0}.v-quick-section>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.v-quick-section h2{font-size:20px;margin:0}.v-quick-section>div>a{font-size:13px;color:#08796b}.v-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.v-quick-card{display:flex;align-items:center;gap:13px;min-height:83px;background:#fff;border:1px solid #dde9e8;padding:17px 20px;border-radius:17px;color:#254a50;transition:transform .2s,box-shadow .2s,border-color .2s}.v-quick-card .ui-icon{width:42px;height:42px;padding:10px;border-radius:13px;background:#def6ed;color:#078570}.v-quick-card:nth-child(3n+2) .ui-icon{background:#fff0da;color:#9a6824}.v-quick-card:nth-child(3n) .ui-icon{background:#eeebff;color:#7761b4}.v-quick-card strong{font-size:14px}.v-quick-card>span:last-child{margin-inline-start:auto;color:#8da6a6}.v-quick-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #234e4a12;border-color:#84cbb8}
.vivid-body .daily-toolbar{background:#edf6f3;border:1px solid #dbece4;box-shadow:none}.vivid-body .daily-card{border:1px solid #e2ecea;border-radius:18px;border-top:0;overflow:hidden;padding:23px}.vivid-body .daily-card:before{content:"";position:absolute;top:0;right:0;width:52px;height:5px;background:#48b8a0;border-radius:0 0 5px 0}.vivid-body .daily-card:nth-child(3n+2):before{background:#eaaa61}.vivid-body .daily-card:nth-child(3n):before{background:#a09cdd}.vivid-body .daily-number{color:#1f5b5c;font-size:37px}.vivid-body .daily-card h3{color:#56767b;font-size:14px}.vivid-body .daily-card p{font-size:12px;color:#6e858a}
.vivid-body .module-card{border-radius:18px;min-height:122px;padding:23px}.vivid-body .module-content strong{font-size:15px}.vivid-body .module-content small{color:#6c858b;font-size:12px}.vivid-body .module-icon{width:48px;height:48px;border-radius:15px}.vivid-body .accent-orange,.vivid-body .accent-gold{background:#fff0d9;color:#a16817}.vivid-body .accent-green{background:#dcf6e8;color:#15885f}.vivid-body .accent-violet{background:#eee9ff;color:#7a60b5}.vivid-body .accent-blue{background:#e4f0ff;color:#3d78b6}.vivid-body .accent-red{background:#ffebe7;color:#bc6856}
.vivid-body :is(.registration-hero,.users-hero,.group-hero,.teachers-hero,.student-file-hero,.user-file-hero,.module-hero){border-radius:22px;padding:27px 29px;margin-bottom:24px;box-shadow:none}
.vivid-body :is(.registration-hero,.users-hero,.group-hero,.teachers-hero,.student-file-hero,.user-file-hero){background:linear-gradient(115deg,#106d66,#159985);color:white;border:0}.vivid-body :is(.registration-hero,.users-hero,.group-hero,.teachers-hero,.student-file-hero,.user-file-hero) p{color:#dcf4ea;font-size:14px;line-height:1.9}.vivid-body :is(.registration-hero,.users-hero,.group-hero,.teachers-hero,.student-file-hero,.user-file-hero) h2{font-size:27px}.vivid-body .module-hero{background:linear-gradient(115deg,#fff,#edf9f3);border-color:#d6e9e2}.vivid-body .module-hero h2{color:#1a5b54;font-size:25px}.vivid-body .module-hero p{color:#637f81;font-size:14px}
.vivid-body :is(.panel,.form-panel,.users-form-panel,.groups-form-panel){border:1px solid #dfeae7;border-radius:20px;box-shadow:0 6px 24px #294c3d04;padding:26px;margin-bottom:22px}.vivid-body .panel h3{font-size:19px}.vivid-body .panel-heading h2{font-size:20px}.vivid-body .panel-heading{margin-bottom:23px}.vivid-body .section-number{background:#e4f7ed;color:#117e66;border-radius:12px}.vivid-body .registration-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.vivid-body .registration-fields .wide-field{grid-column:auto}.vivid-body .registration-fields .full-field{grid-column:1/-1}
.vivid-body label{font-size:14px;color:#41646b;font-weight:600}.vivid-body .field-group{gap:9px}.vivid-body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.vivid-body select,.vivid-body textarea{border:1px solid #cfdfdc;border-radius:11px;min-height:47px;font-size:14px;padding:11px 13px;background:#fcfefd;color:#24494c}.vivid-body input:focus,.vivid-body select:focus,.vivid-body textarea:focus{background:#fff;border-color:#31ad90;box-shadow:0 0 0 4px #2faf8e13}.vivid-body input:disabled,.vivid-body select:disabled{background:#eef2f1;color:#7c908d}.vivid-body .field-group small,.vivid-body .helper-note{font-size:12px;color:#6b8283}.vivid-body .topbar input,.vivid-body .nav-search input{min-height:40px}.vivid-body .topbar select{min-height:26px;border:0;padding:0;background:transparent}.vivid-body .nav-search input{padding-right:38px;background:#f3f7f7}
.vivid-body :is(.primary-button,.secondary-button,.danger-button){min-height:44px;border-radius:11px;font-size:14px;padding:11px 19px}.vivid-body .primary-button{background:#087e70;border-color:#087e70;box-shadow:0 4px 10px #087e7018}.vivid-body .primary-button:hover{background:#086f65;box-shadow:0 8px 18px #087e702b;transform:translateY(-2px)}.vivid-body :is(.primary-button,.secondary-button,.danger-button):active{transform:translateY(0) scale(.98)}.vivid-body .compact-button{min-height:35px;padding:6px 11px;font-size:12px}.vivid-body .secondary-button{background:#fff;border-color:#d3e2de;color:#3f6e69}.vivid-body .danger-button{color:#a54136;background:#fff1ed;border-color:#efd2ca}
.v-fieldset{grid-column:1/-1;min-width:0;margin:0 0 15px;padding:24px;background:#f8fbfa;border:1px solid #dfece6;border-radius:17px}.v-fieldset legend,.v-form-caption{font-size:16px;font-weight:700;color:#245950;padding:0 9px}.v-fieldset legend b,.v-form-caption b{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#d9f1e5;color:#207761;font-size:13px;margin-left:8px}.v-fieldset:nth-of-type(2) legend b{background:#fceccf;color:#926421}.v-fieldset:nth-of-type(3) legend b{background:#eee6fa;color:#7b5ca3}.v-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;align-items:start}.v-fields>.admin-wide,.v-fields>.span-2,.v-fields>.full-field,.v-fields>.wide-field,.v-fields>.admin-table-wrap,.v-fields>.expense-allocation-grid,.v-fields>p,.v-fields>[id*=Preview]{grid-column:1/-1}.v-fields>label{display:flex;flex-direction:column;gap:8px;min-width:0}.v-fields>label:has(input[type=checkbox]){flex-direction:row;align-items:center}.v-save-row{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:13px;padding:16px 0 0;border-top:1px solid #deebe5}.v-save-row>span{margin-inline-end:auto;font-size:12px;color:#718984}.v-form-caption{margin:16px 0}
.v-process-intro{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:17px 21px;border:1px solid #e9ddc5;background:#fffbf1;border-radius:15px;margin:0 0 23px;color:#8d6930;font-size:13px}.v-process-intro strong{font-size:15px}.v-wizard-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:25px 0 18px;padding:0;list-style:none}.v-wizard-nav button{display:flex;align-items:center;gap:10px;width:100%;min-height:73px;text-align:right;background:#fff;border:1px solid #dbe7e2;border-radius:15px;color:#6b8380;font:inherit;font-size:14px;padding:14px}.v-wizard-nav b{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;flex:none;background:#edf3f1;color:#778f89;font-size:13px}.v-wizard-nav button[aria-current=step]{background:#e6f8ee;color:#116d54;border-color:#8ecfb1;box-shadow:0 4px 15px #1c85510a}.v-wizard-nav button[aria-current=step] b{background:#168866;color:#fff}.v-wizard-nav .is-done b{background:#dff3e7;color:#16704e}.v-wizard-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 23px;background:white;border:1px solid #dce8e2;border-radius:16px;margin:15px 0}.v-wizard-controls p{font-size:13px;color:#6b8580;margin:0}.v-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 22px}.v-review-grid div{border-bottom:1px solid #e4eee8;padding:8px 0;overflow-wrap:anywhere}.v-review-grid dt{font-size:12px;color:#708980}.v-review-grid dd{font-size:15px;font-weight:600;color:#295749;margin:4px 0}.v-review-heading{font-size:16px;color:#23765b;border-right:3px solid #4eb891;padding-right:12px;margin:25px 0 8px}.v-wizard-status{font-size:12px;color:#5f8076;margin:8px 2px}.vivid-body .registration-submit-bar{border:1px solid #cfe6dc;border-radius:16px;background:#f0faf4;padding:21px}
.vivid-body table thead th{background:#eff7f3;color:#54766b;font-size:12px;padding:15px}.vivid-body table td{font-size:13px;padding:16px 15px;border-color:#eaf1ed}.vivid-body tbody tr:hover{background:#f3fbf6}.vivid-body .admin-table-wrap,.vivid-body .table-wrap{border-radius:15px;border-color:#dce9e1}.vivid-body :is(.filter-grid,.schedule-filter-grid,.admin-filter-grid,.users-filter-grid){background:#f7faf8;border-radius:14px;padding:18px;gap:16px}.vivid-body .status-pill,.vivid-body .status-badge{border-radius:20px;padding:5px 11px}.vivid-body .ui-loading{border-color:#b5e5d0;border-radius:18px;box-shadow:0 14px 40px #166d5124}.vivid-body .ui-progress{height:4px;background:#e5f4ee}.vivid-body .ui-progress span{background:linear-gradient(90deg,#edb77a,#15a68b)}
.vivid-login .login-brand-panel{background:linear-gradient(145deg,#086960,#159984);position:relative}.vivid-login .login-form-panel{background:#f8fbf9}.vivid-login .login-form-card{max-width:440px;padding:35px;background:white;border:1px solid #dfebe4;border-radius:25px;box-shadow:0 18px 65px #235d4010}.vivid-login .login-brand-content h1{font-size:clamp(32px,3vw,48px)}.vivid-login .login-logo{background:#ffffff13}.vivid-login .login-feature-list>div{background:#ffffff0b;border:1px solid #ffffff20;border-radius:14px;padding:15px 18px}.vivid-login .login-feature-list span{background:#ffffff1c;color:#e7faca}.vivid-login .login-lead{color:#d6f5e7}.vivid-login .primary-button{background:#07846d}.vivid-parent{background:#f0f8f4}
@media(min-width:1650px){.v-quick-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.v-quick-card{flex-wrap:wrap;gap:10px}.v-quick-card strong{flex-basis:100%}.v-quick-card>span:last-child{display:none}}
@media(max-width:1200px){:root{--sidebar-width:255px}.v-wizard-nav button{padding:12px 9px;font-size:12px;gap:7px}.v-quick-card{padding:15px}}
@media(max-width:760px){.vivid-body .content-wrap{padding:18px 14px}.vivid-body .welcome-banner{padding:25px}.v-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v-quick-card{gap:9px;min-height:78px;padding:12px}.v-quick-card strong{font-size:12px}.v-quick-card .ui-icon{width:34px;height:34px;padding:7px}.v-quick-card>span:last-child{display:none}.vivid-body :is(.panel,.form-panel,.users-form-panel,.groups-form-panel){padding:19px;border-radius:17px}.v-fields,.vivid-body .registration-fields,.v-review-grid{grid-template-columns:1fr}.v-fields>*{grid-column:1!important}.v-fieldset{padding:18px 14px}.v-wizard-nav{gap:6px}.v-wizard-nav button{justify-content:center;flex-direction:column;font-size:11px;min-height:83px;padding:9px 4px}.v-wizard-nav b{width:27px;height:27px}.v-wizard-controls{padding:14px;flex-wrap:wrap}.v-wizard-controls p{order:3;flex-basis:100%;text-align:center}.vivid-body :is(.registration-hero,.users-hero,.group-hero,.teachers-hero,.student-file-hero,.user-file-hero,.module-hero){padding:23px}.vivid-login .login-form-card{padding:26px}.vivid-body .topbar h1{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.v-quick-card:hover,.vivid-body .primary-button:hover{transform:none}}
@media print{.v-wizard-nav,.v-wizard-controls,.v-wizard-status{display:none!important}.vivid-body .v-fieldset{break-inside:avoid;background:white}.vivid-body{background:white}}

.vivid-body .student-file-section{background:#fff;border:1px solid #dfeae5;border-radius:20px;padding:25px;margin-bottom:23px}.vivid-body .file-section-heading h2{font-size:21px;color:#235e51}.vivid-body .student-file-nav{background:#fff;border:1px solid #e1ebe5;border-radius:15px;padding:10px;gap:8px}.vivid-body .student-file-nav a{border-radius:10px;padding:10px 16px}.vivid-body .teacher-form-grid,.vivid-body .users-form-grid{gap:20px}.vivid-body .group-create-panel{background:#fff;border:1px solid #dce9e0;border-radius:20px;padding:23px;margin-bottom:24px}.vivid-body .group-create-panel summary{padding:3px 0 18px;color:#256853;font-size:18px}.vivid-body .group-card{border-radius:20px;border-color:#dcebe1;box-shadow:none}.vivid-body .group-card h3{font-size:21px}.vivid-body .capacity-track{height:7px;border-radius:9px;background:#eef3ed}.vivid-body .capacity-track span{background:linear-gradient(90deg,#70caab,#15966d)}
