.detail-page[data-v-0572de0c]{padding:var(--container-padding);display:flex;justify-content:center;align-items:flex-start;width:100%;box-sizing:border-box;min-height:calc(100vh - var(--navbar-height))}.page-card[data-v-0572de0c]{width:100%;max-width:900px;background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-2xl);box-shadow:var(--shadow-md);color:var(--color-text);box-sizing:border-box}@media(max-width:639px){.page-card[data-v-0572de0c]{padding:var(--space-lg);margin:var(--space-lg) auto}}.home-page[data-v-0572de0c]{text-align:center}.page-card h1[data-v-0572de0c]{margin:0 0 var(--space-lg) 0;font-size:var(--font-2xl);color:var(--color-text);font-weight:700}@media(max-width:639px){.page-card h1[data-v-0572de0c]{font-size:var(--font-xl)}}.home-subtitle[data-v-0572de0c]{font-size:1.125rem;color:var(--color-primary);margin-bottom:var(--space-xl);font-weight:600}.home-content[data-v-0572de0c]{text-align:left;margin-bottom:var(--space-2xl);line-height:1.7;background:var(--color-primary-light);padding:var(--space-lg);border-radius:var(--radius-md);border-left:4px solid var(--color-primary);color:var(--color-text)}.home-content p[data-v-0572de0c]{margin:var(--space-md) 0;font-size:var(--font-base)}.navigation-buttons[data-v-0572de0c]{display:flex;gap:var(--space-lg);justify-content:center;flex-wrap:wrap;margin-top:var(--space-2xl)}.navigation-buttons a[data-v-0572de0c]{text-decoration:none;display:inline-block}.navigation-buttons .base-button[data-v-0572de0c]{min-width:200px;font-size:var(--font-base);font-weight:700;padding:var(--space-md) var(--space-lg);transition:all .3s cubic-bezier(.4,0,.2,1)}.navigation-buttons .base-button[data-v-0572de0c]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}:root{--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 2.5rem;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.5rem;--font-2xl: 1.875rem;--container-padding: 1rem;--navbar-height: 56px}@media(min-width:640px){:root{--container-padding: 1.5rem;--navbar-height: 64px}}@media(min-width:1024px){:root{--container-padding: 2rem}}:root{--color-bg: linear-gradient(180deg, #f0f4f8 0%, #e8ecf1 100%);--color-surface: #ffffff;--color-text: #1a202c;--color-text-muted: #718096;--color-border: #cbd5e0;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-light: #dbeafe;--color-secondary: #8b5cf6;--color-secondary-hover: #7c3aed;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-danger-hover: #dc2626;--radius-sm: 6px;--radius-md: 12px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px rgba(0,0,0,.1);--color-input-bg: var(--color-surface);--color-background: var(--color-bg);--text-secondary: var(--color-text-muted);--primary-color: var(--color-primary);--primary-hover: var(--color-primary-hover);--border-color: var(--color-border);--star-color: #fbbf24}*{box-sizing:border-box}html{background:var(--color-bg);background-repeat:no-repeat;background-attachment:fixed;background-size:cover;width:100%;height:100%;margin:0;padding:0}body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--color-text);font-size:var(--font-base);line-height:1.5;width:100%;max-width:100vw;overflow-x:hidden;min-height:100vh}a{color:var(--color-primary)}a:hover{color:var(--color-primary-hover)}a.base-button,a.base-button:hover{color:#fff!important}.navbar,.navbar__left,.navbar__main-links,.navbar__right{display:flex;align-items:center}.navbar{position:sticky;top:0;z-index:100;height:var(--navbar-height);justify-content:flex-start;padding:0 var(--container-padding);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);flex-wrap:nowrap;gap:var(--space-sm)}.navbar__left{gap:1rem}.navbar__main-links{gap:.75rem}.navbar__right{gap:.75rem;margin-left:auto}.navbar__brand{display:flex;justify-content:flex-start}.navbar__logo{height:50px}.navbar__logo-image{height:100%}.navbar__main-links a,.navbar__main-links a *,.navbar__right a,.navbar__right a *{color:var(--color-primary);text-decoration:none;font-size:var(--font-sm);white-space:nowrap}.navbar__right button{color:#fff;font-size:var(--font-sm);white-space:nowrap;background:var(--color-primary)}.navbar__right button:hover{background:var(--color-primary-hover)}.navbar__user{font-size:var(--font-sm);color:var(--color-text-muted)}@media(min-width:640px)and (max-width:899px){.navbar__burger{display:none!important}.navbar__settings{display:flex!important;order:10;margin-left:auto!important}.navbar__main-links{position:static!important;display:flex!important;flex-direction:row;order:5;width:auto!important;background:transparent!important;padding:0!important;gap:.75rem!important;border:none!important;top:auto!important;z-index:auto!important;max-height:none!important;overflow:visible!important;margin-bottom:0!important;margin-left:0!important}.navbar__account{display:none!important;position:fixed;top:var(--navbar-height);left:0;right:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;padding:0;gap:0;width:100vw;z-index:98;max-height:calc(100vh - var(--navbar-height));overflow-y:auto;margin-bottom:0}.navbar__account.open{display:flex!important}.navbar__account a,.navbar__account button,.navbar__account .navbar__user{width:100%;text-align:center;padding:var(--space-md) 0;font-size:var(--font-sm);border-bottom:1px solid var(--color-border);border-radius:0;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;text-decoration:none!important}.navbar__account a:hover{text-decoration:none!important}.navbar__account>:last-child{border-bottom:none;padding-bottom:var(--space-xl)}.navbar__right{display:none!important}}@media(min-width:900px){.navbar__burger,.navbar__settings{display:none!important}.navbar__main-links{position:static!important;display:flex!important;flex-direction:row;width:auto!important;background:transparent!important;padding:0!important;gap:.75rem!important;border:none!important;top:auto!important;z-index:auto!important;max-height:none!important;overflow:visible!important;margin-bottom:0!important}.navbar__account{display:flex!important;position:static!important;top:auto!important;background:transparent!important;border:none!important;padding:0!important;width:auto!important;z-index:auto!important;margin-left:auto;gap:.75rem!important;align-items:center}.navbar__account a{color:var(--color-primary);text-decoration:none;font-size:var(--font-sm);white-space:nowrap;border:none!important;padding:0!important;min-height:auto!important;background:transparent!important;display:inline-block}.navbar__account a:hover{color:var(--color-primary-hover)}.navbar__account button{border:none;background:var(--color-primary);color:#fff;font-size:var(--font-sm);white-space:nowrap;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:background-color .2s}.navbar__account button:hover{background:var(--color-primary-hover)}.navbar__account .navbar__user{font-size:var(--font-sm);color:var(--color-text-muted);border:none!important;padding:0!important;min-height:auto!important;background:transparent!important}.navbar__right{display:flex!important;position:static!important;top:auto!important;background:transparent!important;border:none!important;padding:0!important;width:auto!important;z-index:auto!important}}.navbar__burger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:var(--space-xs);width:32px;height:32px;justify-content:center;align-items:center}.navbar__burger span{display:block;width:24px;height:2px;background:var(--color-text);transition:all .3s;border-radius:2px}.navbar__burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.navbar__burger.open span:nth-child(2){opacity:0}.navbar__burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.navbar__settings{display:none;background:none;border:none;cursor:pointer;padding:var(--space-xs);width:32px;height:32px;font-size:24px;color:var(--color-text);align-items:center;justify-content:center;line-height:1;flex-shrink:0}@media(max-width:639px){.navbar{flex-wrap:nowrap;height:var(--navbar-height);padding:0 var(--container-padding)}.navbar__burger{display:flex;margin-left:auto}.navbar__settings{display:flex}.navbar__logo{height:40px}.navbar__main-links{display:none;position:fixed;top:var(--navbar-height);left:0;right:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;padding:0;gap:0;width:100vw;z-index:99;max-height:calc(100vh - var(--navbar-height));overflow-y:auto;margin-bottom:0}.navbar__main-links.open{display:flex}.navbar__main-links a{width:100%;padding:var(--space-md) 0;border-bottom:1px solid var(--color-border);text-align:center;display:flex;justify-content:center;align-items:center;gap:var(--space-sm);min-height:44px;box-sizing:border-box}.navbar__main-links a:last-child{border-bottom:none}.navbar__account{display:none;position:fixed;top:var(--navbar-height);left:0;right:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;padding:0;gap:0;width:100vw;z-index:98;max-height:calc(100vh - var(--navbar-height));overflow-y:auto;margin-bottom:0}.navbar__account.open{display:flex}.navbar__account a,.navbar__account button,.navbar__account .navbar__user{width:100%;text-align:center;padding:var(--space-md) 0;font-size:var(--font-sm);border-bottom:1px solid var(--color-border);border-radius:0;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;text-decoration:none!important}.navbar__account a:hover{text-decoration:none!important}.navbar__right{display:none!important}}.detail-page,.create-page,.edit-page,.list-page{padding:var(--container-padding);display:flex;justify-content:center;align-items:flex-start;width:100%;box-sizing:border-box;min-height:calc(100vh - var(--navbar-height));background:var(--color-bg)}.page-card{width:100%;max-width:1400px;background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-2xl);box-shadow:var(--shadow-md);color:var(--color-text);box-sizing:border-box}@media(max-width:639px){.page-card{padding:var(--space-lg);border-radius:var(--radius-sm)}}@media(min-width:640px)and (max-width:1023px){.page-card{max-width:90%}}.page-card h1{margin:0 0 var(--space-lg) 0;font-size:var(--font-2xl);font-weight:700;color:var(--color-text);text-align:center}@media(max-width:639px){.page-card h1{font-size:var(--font-xl);margin-bottom:var(--space-md)}}.login-page,.register-page,.change-password-page{width:100%;max-width:500px;margin:1.5rem auto;padding:var(--space-2xl);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text);box-sizing:border-box}@media(max-width:639px){.login-page,.register-page,.change-password-page{max-width:calc(100% - 2rem);margin:1rem auto;padding:var(--space-lg)}}.home-page,.account-page{width:100%;max-width:1350px;margin:var(--space-lg) auto;padding:var(--space-2xl);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text);box-sizing:border-box}@media(min-width:1024px){.home-page,.account-page{max-width:1400px}}@media(max-width:639px){.home-page,.account-page{margin:1rem auto;padding:var(--space-lg)}}h1{margin:0 0 var(--space-lg);text-align:center;font-size:var(--font-xl)}@media(min-width:640px){h1{font-size:var(--font-2xl)}}form{display:flex;flex-direction:column;gap:var(--space-lg)}.base-input{display:flex;flex-direction:column;gap:var(--space-sm)}.base-input__label{font-size:var(--font-sm);color:var(--color-text-muted);font-weight:500}.base-input__field{width:100%;padding:.625rem .75rem;font-size:var(--font-base);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text);font-family:inherit;transition:border-color .2s,box-shadow .2s}.base-input__field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.entity-actions,.programs-actions{display:flex;gap:.5rem}.base-button,button{width:auto;display:inline-block;padding:.625rem 1rem;font-size:var(--font-sm);font-weight:600;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 1px 3px #0000001a}.base-button:hover,button:hover{background:var(--color-primary-hover);box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.base-button:active,button:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.base-button:disabled,button:disabled{opacity:.5;cursor:not-allowed;transform:none}.base-button.small,button.small{padding:.4rem .8rem;font-size:.8125rem;font-weight:500}.base-button.secondary,button.secondary{background:var(--color-surface);color:var(--color-text);border:1.5px solid var(--color-border);font-weight:500}.base-button.secondary:hover,button.secondary:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.base-button.danger,button.danger{background-color:var(--color-danger);box-shadow:0 1px 3px #ef44444d}.base-button.danger:hover,button.danger:hover{background-color:var(--color-danger-hover);box-shadow:0 2px 6px #ef444466;transform:translateY(-1px)}.button-group,.button-container,.actions,.action-buttons,.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center}.base-button.success,button.success{background-color:var(--color-success);box-shadow:0 1px 3px #10b98133}.base-button.success:hover,button.success:hover{background-color:#059669;box-shadow:0 2px 6px #10b9814d;transform:translateY(-1px)}.base-button.warning,button.warning{background-color:var(--color-warning);color:#000;box-shadow:0 1px 3px #f59e0b33}.base-button.warning:hover,button.warning:hover{background-color:#d97706;color:#fff;box-shadow:0 2px 6px #f59e0b4d;transform:translateY(-1px)}.base-button.ghost,button.ghost{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);box-shadow:none;font-weight:600}.base-button.ghost:hover,button.ghost:hover{background:#3b82f61a;border-color:var(--color-primary-hover);color:var(--color-primary-hover)}.form-error,.error{padding:var(--space-md);background:#fee2e2;color:#991b1b;border-radius:var(--radius-sm);font-size:var(--font-sm);text-align:center;margin-bottom:var(--space-lg)}.account-page{text-align:center}.account-card{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.account-row{display:flex;flex-direction:column;gap:var(--space-sm);justify-content:space-between;align-items:flex-start;padding:var(--space-md) 0;border-bottom:1px solid var(--color-border)}@media(min-width:640px){.account-row{flex-direction:row;align-items:center}}.account-row:last-child{border-bottom:none}.account-label{color:var(--color-text-muted);font-weight:500}.account-value{font-weight:500}.admin-page{max-width:1400px;margin:var(--space-xl) auto;padding:var(--space-2xl);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);width:100%}@media(max-width:639px){.admin-page{margin:var(--space-md);padding:var(--space-lg)}}.table-wrapper{margin-top:var(--space-lg);overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);position:relative}.table-wrapper:after{content:"";position:absolute;right:0;top:0;bottom:0;width:20px;background:linear-gradient(to left,rgba(0,0,0,.05),transparent);pointer-events:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0}@media(max-width:639px){.table-wrapper{overflow-x:auto;min-width:0}.table-wrapper:after{width:10px}}.home-content{margin-top:var(--space-lg);font-size:var(--font-base);line-height:1.6;color:var(--color-text-muted)}.theme-toggle{background:none;border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);border-radius:999px;font-size:var(--font-sm);color:var(--color-text);cursor:pointer;transition:background-color .2s}.theme-toggle:hover{background:#0000000a}.create-page,.edit-page,.detail-page,.list-page{padding:var(--container-padding);display:flex;justify-content:center;align-items:flex-start;min-height:calc(100vh - var(--navbar-height));background:var(--color-background)}.page-card,.form-container,.EntityForm{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-2xl);box-shadow:var(--shadow-lg);width:100%;max-width:1400px;margin:var(--space-lg) auto;opacity:1}.page-card h1{margin-top:0;margin-bottom:var(--space-lg);color:var(--color-text)}@media(max-width:639px){.page-card,.form-container,.EntityForm{padding:var(--space-lg);margin:var(--space-md)}.create-page,.edit-page,.detail-page,.list-page{min-height:calc(100vh - var(--navbar-height) - var(--space-lg))}}.header-row{display:flex;flex-direction:column;gap:var(--space-md);justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-lg)}.header-row h1{margin:0;flex:1;text-align:left;width:100%}@media(min-width:640px){.header-row{flex-direction:row;align-items:center}}.search-bar{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}@media(min-width:640px){.search-bar{flex-direction:row;flex-wrap:wrap;align-items:center}}.search-input{flex:1;min-width:150px;max-width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-size:var(--font-base)}.search-input::placeholder{color:var(--color-text-muted)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.filter-section{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg);background:#3b82f605;padding:var(--space-lg);border-radius:var(--radius-md);border:1px solid rgba(59,130,246,.1)}.filters-row{display:flex;flex-direction:column;gap:var(--space-md)}@media(min-width:640px){.filters-row{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:var(--space-lg)}}@media(min-width:1024px){.filter-section{padding:var(--space-xl)}.filters-row{gap:var(--space-2xl)}}.filter-group{display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-width:150px}.filter-group label{font-size:var(--font-sm);font-weight:600;color:var(--color-text);margin-bottom:0}.filter-group select,.filter-group input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-sm);transition:all .2s}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.filters-toggle{display:none;background:var(--color-primary);color:#fff;border:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:500;cursor:pointer;width:100%;margin-bottom:var(--space-md);transition:background-color .2s}.filters-toggle:hover{background:var(--color-primary-hover)}.filters-toggle:after{content:" ▼";transition:transform .3s}.filters-toggle.collapsed:after{transform:rotate(-90deg)}@media(max-width:639px){.filters-toggle{display:block;position:sticky;top:calc(var(--navbar-height) + var(--space-xs));z-index:10;box-shadow:var(--shadow-md)}.filter-section{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease,margin .3s ease,border-width .3s ease;margin-bottom:0;padding:0;border-width:0}.filter-section.expanded{max-height:2000px;margin-bottom:var(--space-md);padding:var(--space-lg);border-width:1px;position:sticky;top:calc(var(--navbar-height) + 44px);z-index:9;background:var(--color-surface)}.filter-group{min-width:100%;gap:var(--space-xs)}.filter-group label{font-size:.75rem;margin-bottom:0}.filter-group select,.filter-group input{padding:var(--space-xs) var(--space-sm);font-size:.875rem}}.clear-filters-btn{align-self:flex-end;margin-top:auto}@media(max-width:639px){.clear-filters-btn{width:100%;align-self:stretch;margin-top:var(--space-md)}}html[data-theme=dark] ::placeholder{color:#e2e8f0}.navbar .star-icon:not(.filled){color:var(--color-text)}.results-info{font-size:var(--font-sm);color:var(--color-text-muted);margin-bottom:var(--space-md);word-break:break-word}@media(max-width:639px){.results-info{font-size:var(--font-xs)}}.empty-state{text-align:center;padding:var(--space-lg);color:var(--color-text-muted);font-size:var(--font-base)}html[data-theme=dark] .empty-state,html[data-theme=dark] .results-info,html[data-theme=dark] .home-content,html[data-theme=dark] .empty-state .star-icon{color:#e2e8f0}.entity-table{width:100%;margin-top:var(--space-lg);border-collapse:collapse;table-layout:auto;border-spacing:0}.entity-table thead,.entity-table tbody{display:table-row-group}.entity-table th,.entity-table td{padding:var(--space-md);text-align:left;vertical-align:middle;font-size:var(--font-sm);border-bottom:1px solid var(--color-border);word-break:break-word;overflow-wrap:break-word}.entity-table thead{background:#00000005;position:sticky;top:0;z-index:10}.entity-table th{color:var(--color-text-muted);font-weight:600;border-bottom:2px solid var(--color-border);white-space:normal}.entity-table th:nth-child(1),.entity-table td:nth-child(1){width:30%;min-width:150px}.entity-table th:nth-child(2),.entity-table td:nth-child(2){width:20%;min-width:120px}.entity-table th:nth-child(3),.entity-table td:nth-child(3){width:12%;min-width:90px}.entity-table th:nth-child(4),.entity-table td:nth-child(4){width:12%;min-width:90px}.entity-table th:nth-child(5),.entity-table td:nth-child(5){width:12%;min-width:90px}.entity-table th:nth-child(6),.entity-table td:nth-child(6){width:14%;min-width:110px}.actions-col{width:auto;min-width:100px}.entity-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.entity-table th.sortable:hover{background-color:#3b82f60d;color:var(--color-primary)}.entity-table tbody tr{border-bottom:1px solid var(--color-border)}.entity-table tbody tr:last-child{border-bottom:none}.entity-row:hover{background-color:#2563eb0d}.entity-table a{color:var(--color-primary);text-decoration:none;font-weight:400;transition:color .15s ease}.entity-table a:hover{color:var(--color-primary-dark, #1d4ed8);text-decoration:underline}.actions-col{white-space:nowrap;text-align:center}.actions-col .base-button{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-sm)}.base-button.danger:hover{background-color:#b91c1c}.entity-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}@media(max-width:639px){.entity-table{font-size:var(--font-xs);min-width:100%}.entity-table th,.entity-table td{padding:var(--space-sm) var(--space-xs);font-size:var(--font-xs);line-height:1.2}.entity-table th{word-break:break-word;min-width:40px}.entity-table td:nth-child(n+3),.entity-table th:nth-child(n+3){display:none}}@media(min-width:640px)and (max-width:1023px){.entity-table th,.entity-table td{padding:var(--space-sm) var(--space-md);font-size:var(--font-sm)}.entity-table td:nth-child(n+4),.entity-table th:nth-child(n+4){display:none}}.form-container{display:flex;flex-direction:column;gap:0;margin-top:var(--space-lg);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background-alt, var(--color-background))}.form-container h2{margin:0 0 var(--space-lg) 0;font-size:1.3rem;color:var(--color-text)}.course-form,.study-program-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group label{font-weight:500;color:var(--color-text);font-size:var(--font-sm)}.form-group input,.form-group textarea{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--font-base)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-row{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr}}.form-actions{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-lg)}@media(min-width:640px){.form-actions{flex-direction:row}}.base-button{padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-sm);background-color:var(--color-primary);color:#fff;font-weight:500;cursor:pointer;transition:background-color .2s}.base-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.base-button:disabled{opacity:.6;cursor:not-allowed}.base-button.secondary{background-color:var(--color-border);color:var(--color-text)}.base-button.secondary:hover:not(:disabled){background-color:var(--color-text-muted)}.error-message{padding:var(--space-md);background-color:#fee2e2;color:#991b1b;border-radius:var(--radius-sm);margin-bottom:var(--space-lg)}.success-message{padding:var(--space-md);background-color:#dcfce7;color:#166534;border-radius:var(--radius-sm);margin-bottom:var(--space-lg)}.create-page,.edit-page,.detail-page,.list-page{padding:var(--container-padding);display:flex;justify-content:center;align-items:flex-start;width:100%;box-sizing:border-box;min-height:calc(100vh - var(--navbar-height))}@media(max-width:639px){.create-page,.edit-page,.detail-page,.list-page{min-height:calc(100vh - var(--navbar-height) - var(--space-lg))}}@media(min-width:640px){.page-card,.form-container,.EntityForm{max-width:1350px;padding:2rem}}@media(min-width:1024px){.page-card,.form-container,.EntityForm{max-width:1400px;padding:2.5rem}}.page-card h1{margin-top:0;margin-bottom:24px;color:var(--color-text)}.program-meta,.course-meta{color:var(--color-text-muted);margin:var(--space-sm) 0 var(--space-lg);font-size:var(--font-sm)}.program-description,.course-description{margin-bottom:var(--space-lg);white-space:pre-wrap;line-height:1.6}.modules-list{display:flex;flex-direction:column;gap:var(--space-lg)}.module-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md);background:var(--color-background)}@media(max-width:639px){.module-card{padding:var(--space-md)}}.module-header{display:flex;flex-direction:column;gap:var(--space-sm);justify-content:space-between;align-items:flex-start}@media(min-width:640px){.module-header{flex-direction:row;align-items:baseline}}.module-semester{color:var(--color-text-muted);font-size:var(--font-sm)}.module-courses{width:100%;margin-top:var(--space-md);border-collapse:collapse;table-layout:auto;overflow-x:auto}.module-courses th,.module-courses td{padding:var(--space-md);border-bottom:1px solid var(--color-border);text-align:left;font-size:var(--font-sm)}.module-courses th{background:var(--color-surface);border:1px solid var(--color-border);font-weight:600;color:var(--color-text-muted)}.module-courses td{border:1px solid var(--color-border);color:var(--color-text)}.module-courses tbody tr:hover{background:#3b82f60d}.module-courses th:nth-child(1),.module-courses td:nth-child(1){width:60%}.module-courses th:nth-child(2),.module-courses td:nth-child(2){width:20%}.module-courses th:nth-child(3),.module-courses td:nth-child(3){width:20%}@media(max-width:639px){.module-courses{font-size:var(--font-xs);display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.module-courses th,.module-courses td{padding:var(--space-xs) var(--space-sm);white-space:nowrap}.module-courses th:nth-child(1),.module-courses td:nth-child(1){width:50%}.module-courses th:nth-child(2),.module-courses td:nth-child(2){width:25%}.module-courses th:nth-child(3),.module-courses td:nth-child(3){width:25%}}.empty-row{color:var(--color-text-muted);text-align:center;padding:var(--space-lg)!important}.html-content :global(h4){margin:.5rem 0 .25rem}.html-content :global(p){margin:.35rem 0}.rich-block{margin-top:.5rem}.rich-block ul,.rich-block ol{padding-left:1.1rem;margin:.25rem 0 .5rem}.rich-block li+li{margin-top:.2rem}.form-container h2{margin:0 0 1.5rem;font-size:1.5rem;color:var(--color-text)}.pagination{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-top:var(--space-lg);padding:var(--space-lg) 0}.pagination .base-button{width:auto;padding:var(--space-sm) var(--space-md);font-size:var(--font-sm);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border);cursor:pointer;transition:all .2s}.pagination .base-button:hover:not(:disabled){background:#2563eb1a;border-color:var(--color-primary)}.pagination .base-button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination .base-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:639px){.pagination{gap:var(--space-xs)}.pagination .base-button{padding:var(--space-xs) var(--space-sm);font-size:var(--font-xs);min-width:32px}}html[data-theme=dark]{--color-bg: linear-gradient(180deg, #0f172a 0%, #1a1f35 100%);--color-background: var(--color-bg);--color-surface: #1e293b;--color-text: #f1f5f9;--color-text-muted: #cbd5e1;--color-border: #334155;--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-primary-light: #1e3a8a;--color-secondary: #c084fc;--color-secondary-hover: #e9d5ff;--color-success: #34d399;--color-warning: #fbbf24;--color-danger: #f87171;--color-danger-hover: #fca5a5;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 6px rgba(0,0,0,.5);--color-input-bg: #1a1f35;--text-color: var(--color-text);--text-secondary: var(--color-text-muted);--primary-color: var(--color-primary);--primary-hover: var(--color-primary-hover);--border-color: var(--color-border)}.moderation-reports,.report-card,.review-summary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.header h1,.report-status,.detail-row,.report-message-content,.review-author{color:var(--color-text)}.subtitle,.report-id,.detail-row strong,.user-id{color:var(--color-text-muted)}.status-select,.report-message-section,.modal-dialog{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.status-select:focus{border-color:var(--color-primary)}.course-link{color:var(--color-primary)}.course-link:hover{color:var(--color-primary-hover)}.edited-badge{background:#3b82f626;color:#60a5fa}.moderator-notes-display{background:#22c55e1a;border-color:#22c55e4d}.moderator-notes-display h3{color:#86efac}.moderator-notes-display p,.notes-content{color:var(--color-text)}.error-message{background:#ef444426;border-color:#ef444480;color:#fca5a5}.retry-button{background:var(--color-primary);color:#fff}.retry-button:hover{background:var(--color-primary-hover)}.cancel-button{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.cancel-button:hover{background:#3b82f61a}.module-courses{width:100%;margin-top:var(--space-md);border-collapse:collapse;table-layout:auto}.reviews-section h3,.discussions-section h3,.course-materials h3,.course-section h3{margin:var(--space-lg) 0 var(--space-md) 0;font-size:1.2rem;color:var(--color-text);font-weight:600}@media(min-width:640px){.reviews-section h3,.discussions-section h3,.course-materials h3,.course-section h3{font-size:1.35rem}}.material-item,.review-item,.thread-item,.discussion-item{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);transition:box-shadow .2s}@media(min-width:640px){.material-item,.review-item,.thread-item,.discussion-item{flex-direction:row;align-items:center;justify-content:space-between}}.material-item:hover,.review-item:hover,.thread-item:hover,.discussion-item:hover{box-shadow:var(--shadow-sm)}.item-actions,.material-actions,.review-actions,.thread-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.base-button.small,button.small{padding:.4rem .8rem;font-size:.85rem;white-space:nowrap}.form-input,.form-textarea,.form-select{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem;background:var(--color-input-bg);color:var(--color-text);transition:border-color .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary)}.form-textarea{min-height:80px;resize:vertical}.entity-meta{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;font-size:var(--font-sm);color:var(--color-text-muted);line-height:1.6}.entity-meta span{display:flex;align-items:center;gap:.25rem}.entity-description{padding:1rem 1.25rem;background:var(--color-primary-light);border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-text);line-height:1.7;font-style:italic}html[data-theme=dark] .entity-description{background:#3b82f626}.form-input,.form-textarea,.form-select{width:100%;padding:.625rem .75rem;font-size:.95rem;font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text);transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-select{cursor:pointer}.form-textarea{min-height:100px;resize:vertical}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-group label{font-weight:600;color:var(--color-text);font-size:var(--font-sm)}.form-group label .required{color:var(--color-danger)}.form-group label .optional{color:var(--color-text-muted);font-weight:400;font-size:.85rem}.success-message,.error-message,.info-message,.warning-message{padding:.75rem 1rem;border-radius:var(--radius-sm);font-weight:500;border-left:4px solid}.success-message{background:#ecfdf5;color:#065f46;border-left-color:#10b981}html[data-theme=dark] .success-message{background:#10b98126;color:#a7f3d0;border-left-color:#10b981}.error-message{background:#fef2f2;color:#7f1d1d;border-left-color:#ef4444}html[data-theme=dark] .error-message{background:#ef444426;color:#fecaca;border-left-color:#ef4444}.warning-message{background:#fffbeb;color:#78350f;border-left-color:#f59e0b}html[data-theme=dark] .warning-message{background:#f59e0b26;color:#fcd34d;border-left-color:#f59e0b}.info-message{background:#eff6ff;color:#0c2340;border-left-color:#3b82f6}html[data-theme=dark] .info-message{background:#3b82f626;color:#bfdbfe;border-left-color:#3b82f6}.empty-state{text-align:center;padding:2rem;color:var(--color-text-muted);font-style:italic}.success-message{background:#d4edda;color:#155724;padding:.75rem;border-radius:var(--radius-sm);border:1px solid #c3e6cb;margin-bottom:1rem}.error-message{background:#f8d7da;color:#721c24;padding:.75rem;border-radius:var(--radius-sm);border:1px solid #f5c6cb;margin-bottom:1rem}.star-icon[data-v-43a1d2e8]{display:inline-block;vertical-align:middle;transition:all .2s ease}.star-icon[data-v-43a1d2e8]:not(.filled){color:var(--text-color, #333)}.star-icon.filled[data-v-43a1d2e8]{color:var(--star-color, #fbbf24)}.navbar__favourites[data-v-70a35c91]{display:inline-flex;align-items:center;gap:6px}.navbar__favourites[data-v-70a35c91] .star-icon{margin-top:-2px}.navbar__moderation[data-v-70a35c91]{position:relative;display:inline-flex;align-items:center;gap:8px}.report-badge[data-v-70a35c91]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#f44;color:#fff;font-size:12px;font-weight:600;border-radius:10px;line-height:1}.toast-container[data-v-8fbe19ce]{position:fixed;top:80px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:400px}.toast[data-v-8fbe19ce]{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;min-width:300px;max-width:500px;padding:12px 16px;border-radius:8px;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);box-shadow:0 4px 12px #00000026;font-size:14px}.toast__content[data-v-8fbe19ce]{display:flex;align-items:center;gap:10px}.toast__icon[data-v-8fbe19ce]{font-size:18px;font-weight:700}.toast__message[data-v-8fbe19ce]{flex:1;color:var(--text-color, #333)}.toast__close[data-v-8fbe19ce]{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;padding:0;margin-left:12px;color:var(--text-secondary, #666);opacity:.7;transition:opacity .2s}.toast__close[data-v-8fbe19ce]:hover{opacity:1}.toast--success[data-v-8fbe19ce]{border-left:4px solid #10b981}.toast--success .toast__icon[data-v-8fbe19ce]{color:#10b981}.toast--error[data-v-8fbe19ce]{border-left:4px solid #ef4444}.toast--error .toast__icon[data-v-8fbe19ce]{color:#ef4444}.toast--info[data-v-8fbe19ce]{border-left:4px solid #3b82f6}.toast--info .toast__icon[data-v-8fbe19ce]{color:#3b82f6}.toast--warning[data-v-8fbe19ce]{border-left:4px solid #f59e0b}.toast--warning .toast__icon[data-v-8fbe19ce]{color:#f59e0b}.toast-enter-active[data-v-8fbe19ce],.toast-leave-active[data-v-8fbe19ce]{transition:all .3s ease}.toast-enter-from[data-v-8fbe19ce]{opacity:0;transform:translate(100%)}.toast-leave-to[data-v-8fbe19ce]{opacity:0;transform:translate(100%) scale(.9)}
