.bottom-tab{background-color:var(--color-surface);border-top:1px solid var(--color-border);z-index:1000;justify-content:space-around;align-items:center;max-width:480px;height:70px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item{color:var(--color-text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;height:100%;display:flex}.tab-item span{font-size:.85rem;font-weight:600}.tab-item.active{color:var(--color-primary)}.tab-item.active svg{stroke-width:2.5px}@media (width>=1024px){.bottom-tab{display:none}}.top-nav{display:none}@media (width>=1024px){.top-nav{z-index:1000;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:4px;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.top-nav-brand{color:var(--color-primary);white-space:nowrap;align-items:center;gap:10px;margin-right:24px;font-size:1.1rem;font-weight:800;display:flex}.top-nav-brand img{border-radius:50%}.top-nav-link{border-radius:var(--radius-sm);color:var(--color-text-secondary);white-space:nowrap;padding:8px 14px;font-size:1rem;font-weight:600}.top-nav-link:hover,.top-nav-link:focus-visible{background-color:var(--color-background);color:var(--color-primary);outline:none}.top-nav-link.active{color:var(--color-primary);background-color:#e3f2fd}.top-nav-work{position:relative}.top-nav-work-btn{font-family:inherit;line-height:inherit;background:0 0;border:none}.top-nav-menu{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:180px;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000001f}.top-nav-menu a{color:var(--color-text-primary);white-space:nowrap;border-radius:6px;padding:10px 14px;font-weight:600;display:block}.top-nav-menu a:hover,.top-nav-menu a:focus-visible{background-color:var(--color-background);outline:none}.top-nav-menu a.active{color:var(--color-primary);background-color:#e3f2fd}.top-nav-spacer{flex:1}.top-nav-user{color:var(--color-text-secondary);white-space:nowrap;margin-right:8px;font-size:.95rem}.top-nav-logout{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text-primary);white-space:nowrap;padding:8px 14px;font-family:inherit;font-size:.95rem;font-weight:600}.top-nav-logout:hover,.top-nav-logout:focus-visible{background-color:var(--color-background);outline:none}}.page-header{padding:var(--spacing-xl) var(--spacing-md);text-align:center;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);margin-bottom:var(--spacing-lg)}.page-header h1{font-size:var(--font-size-xxl);margin-bottom:var(--spacing-xs)}.page-header p{font-size:var(--font-size-large);opacity:.9}.notice-banner{margin:0 var(--spacing-md) var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--radius-md);align-items:center;gap:var(--spacing-md);display:flex;box-shadow:0 4px 12px #287a7133}.banner-icon{flex-shrink:0}.banner-text strong{margin-bottom:2px;font-size:1.1rem;display:block}.banner-text p{opacity:.9;font-size:.9rem}.section-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);padding:0 var(--spacing-md);color:var(--color-primary);font-weight:700}.department-section{padding:0 var(--spacing-md) var(--spacing-xl)}.programs-container{padding:var(--spacing-lg)}.page-title{font-size:var(--font-size-xxl);color:var(--color-primary);margin-bottom:var(--spacing-lg);text-align:center}.tabs{margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border);display:flex}.tab-btn{padding:var(--spacing-md);color:var(--color-text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;font-size:1.1rem;font-weight:600}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.notice-box{border:1px solid var(--color-success);padding:var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg);background-color:#e8f5e9}.notice-box strong{color:var(--color-success);margin-bottom:4px;display:block}.list-container{gap:var(--spacing-md);flex-direction:column;display:flex}.list-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background-color:var(--color-surface);justify-content:space-between;align-items:center;display:flex}.item-header{align-items:center;gap:var(--spacing-sm);margin-bottom:4px;display:flex}.item-header h4{color:var(--color-text-primary);font-size:1.1rem}.badge{background-color:var(--color-error);color:#fff;border-radius:12px;padding:2px 8px;font-size:.8rem}.item-info p{color:var(--color-text-secondary);font-size:.95rem}.btn-disabled{background-color:var(--color-border);color:var(--color-text-secondary);cursor:not-allowed}.form-mockup{border:2px dashed var(--color-border);height:200px;color:var(--color-text-secondary);border-radius:var(--radius-md);justify-content:center;align-items:center;display:flex}.council-container{padding:var(--spacing-lg)}.council-title{font-size:var(--font-size-xl);color:var(--color-primary);margin-bottom:var(--spacing-sm);text-align:center}.council-desc{text-align:center;margin-bottom:var(--spacing-xl);color:var(--color-text-secondary)}.login-form{gap:var(--spacing-md);flex-direction:column;max-width:320px;margin:0 auto;display:flex}.login-input{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center;font-size:1.1rem}.btn{padding:var(--spacing-md);border-radius:var(--radius-sm);text-align:center;border:none;font-size:1.1rem;font-weight:700}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-outline{border:1px solid var(--color-primary);color:var(--color-primary);background-color:#0000}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem}.error-msg{color:var(--color-error);text-align:center;font-size:.9rem}.dashboard-header{margin-bottom:var(--spacing-xl);text-align:center}.role-badge{margin:var(--spacing-sm) 0;border-radius:20px;padding:4px 12px;font-size:.9rem;display:inline-block}.logout-btn{margin:0 auto;padding:8px 16px;font-size:.9rem;display:block}.dashboard-grid{gap:var(--spacing-md);flex-direction:column;display:flex}.dashboard-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:0 2px 4px #0000000d}.admin-card{border-left:6px solid var(--color-secondary)}.dashboard-card h3{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.admin-menu{gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-direction:column;list-style:none;display:flex}.mt-2{margin-top:8px}.help-page{color:#333;background-color:#f8f9fa;padding:20px;font-size:1rem;line-height:1.7}.help-header{align-items:flex-start;gap:10px;margin-bottom:16px;display:flex}.help-back{cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.5rem;line-height:1.2}.help-header h2{color:var(--color-primary);margin:0;font-size:1.4rem}.help-meta{color:#888;margin:4px 0 0;font-size:.85rem}.help-toc{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:20px;padding:12px 16px}.help-toc summary{cursor:pointer;color:var(--color-primary);font-weight:700}.help-toc-part{margin-top:12px}.help-toc-part-title{color:#888;margin-bottom:4px;font-size:.85rem}.help-toc ul{margin:0;padding:0;list-style:none}.help-toc li a{color:#333;padding:6px 0;text-decoration:none;display:block}.help-toc li a:hover,.help-toc li a:focus-visible{color:var(--color-secondary)}.help-part-title{color:var(--color-primary);border-bottom:2px solid var(--color-primary);margin:28px 0 8px;padding-bottom:6px;font-size:1.2rem}.help-chapter{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:16px;padding:16px;scroll-margin-top:12px}.help-chapter-title{color:var(--color-primary);margin:0 0 12px;font-size:1.15rem}.help-section{margin-top:16px;scroll-margin-top:12px}.help-section-title{color:#222;margin:0 0 4px;font-size:1.05rem}.help-who{color:#555;margin:0 0 8px;font-size:.9rem}.help-who span{color:#2e7d32;background:#e8f5e9;border-radius:4px;margin-right:6px;padding:0 6px;font-weight:700;display:inline-block}.help-steps{margin:0;padding-left:1.4em}.help-steps li{word-break:keep-all;margin-bottom:6px}.help-steps strong{color:var(--color-primary)}.help-note{word-break:keep-all;background:#fff8e1;border-left:4px solid #f9a825;border-radius:4px;margin:10px 0 0;padding:10px 12px;font-size:.95rem}.help-figure{margin:12px 0 0}.help-figure img{border:1px solid #ddd;border-radius:8px;max-width:100%;display:block}.help-figure:not(.help-figure-pc) img{width:375px}.help-figure figcaption{color:#666;margin-top:4px;font-size:.85rem}.help-table{border-collapse:collapse;width:100%;font-size:.95rem}.help-table th,.help-table td{text-align:left;vertical-align:top;word-break:keep-all;border:1px solid #e0e0e0;padding:8px 10px}.help-table th{white-space:nowrap;background:#f1f3f5}.help-contact{margin:0;padding-left:1.2em}@media print{.help-page{background:#fff;padding:0;font-size:11pt;line-height:1.6}.help-cover{break-after:page}.help-cover-meta{color:#555;margin:0 0 16px}.help-cover h3{margin:0 0 8px;font-size:14pt}.help-cover h4{color:#555;margin:12px 0 4px;font-size:11pt}.help-cover-list{margin:0;padding-left:1.4em}.help-cover-list li{margin-bottom:2px}.help-part{break-before:page}.help-part:first-of-type{break-before:auto}.help-part-title{margin-top:0}.help-chapter{break-before:page;border:none;margin-bottom:0;padding:0}.help-chapter:first-of-type{break-before:auto}.help-section,.help-figure{break-inside:avoid}.help-figure:not(.help-figure-pc) img{width:60mm}.help-figure-pc img{max-width:160mm}.help-note{break-inside:avoid}.help-table{font-size:10pt}}@media (width>=1024px){.main-content:has(.help-page){overflow-y:visible}.help-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:24px;display:grid}.help-toc{max-height:calc(100vh - 100px);margin-bottom:0;position:sticky;top:12px;overflow-y:auto}.help-body{max-width:820px}.help-chapter,.help-section{scroll-margin-top:80px}.help-toc{top:80px}.help-part-title:first-child{margin-top:0}}.print-only{display:none}@media print{@page{margin:12mm}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff!important}.bottom-tab,button,.no-print,[style*="position: fixed"]{display:none!important}.print-only{display:block!important}#root{max-width:none!important;box-shadow:none!important;min-height:0!important}.main-content{padding-bottom:0!important;overflow:visible!important}.page-container{background:#fff!important;min-height:0!important;padding:0!important}.card{break-inside:avoid;box-shadow:none!important;border:1px solid #ddd!important}[style*="overflow-x: auto"],[style*="overflow: auto"]{max-height:none!important;overflow:visible!important}table{font-size:9pt;width:100%!important;min-width:0!important}th,td{position:static!important}a[href]:after{content:none!important}}:root{--color-primary:#1a2f4c;--color-primary-light:#2a456c;--color-secondary:#287a71;--color-secondary-light:#3d8c82;--color-background:#f8f9fa;--color-surface:#fff;--color-text-primary:#111;--color-text-secondary:#444;--color-border:#e0e0e0;--color-error:#d32f2f;--color-success:#388e3c;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-base:16px;--font-size-large:1.25rem;--font-size-xl:1.5rem;--font-size-xxl:2rem;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}#root{background-color:var(--color-surface);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative;box-shadow:0 0 20px #0000000d}.main-content{flex:1;padding-bottom:70px;overflow-y:auto}.page-container{min-height:calc(100vh - 70px);padding:0}.tab-space{padding-bottom:90px!important}.tab-space-lg{padding-bottom:140px!important}.council-footer-bar{max-width:480px}@media (width>=1024px){#root{max-width:none;box-shadow:none;background-color:var(--color-background)}.main-content{padding-bottom:0}.app-shell{background-color:var(--color-surface);width:100%;max-width:1200px;min-height:calc(100vh - 64px);margin:0 auto}.tab-space,.tab-space-lg{padding-bottom:24px!important}.council-footer-bar{display:none}}.grid-2-desktop{flex-direction:column;gap:16px;display:flex}.data-table-cards{flex-direction:column;display:flex}.data-table{display:none}.fee-table{min-width:900px}@media (width>=1024px){.form-narrow{max-width:720px}.grid-2-desktop{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid!important}.data-table-cards{display:none}.data-table{border-collapse:collapse;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;display:table}.data-table th{text-align:left;color:var(--color-text-secondary);background-color:var(--color-background);border-bottom:2px solid var(--color-border);white-space:nowrap;padding:10px 12px;font-size:.85rem}.data-table td{vertical-align:middle;border-bottom:1px solid #eee;padding:10px 12px;font-size:.95rem}.data-table tr:last-child td{border-bottom:none}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover td{background-color:var(--color-background)}.data-table .num,.data-table .actions{text-align:right;white-space:nowrap}}@media (width>=1280px){.fee-table{min-width:0}}.modal-overlay{z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{outline:none;justify-content:center;width:100%;display:flex}.clickable{cursor:pointer}a:focus-visible,button:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}@media (hover:hover){.clickable:hover{box-shadow:0 4px 12px #00000014}.data-table tr.clickable:hover{box-shadow:none}}@media (width>=1024px){.modal-box>*{max-width:560px!important}.data-table tr.expanded td{background-color:#fafafa;font-size:.8rem}}.high-contrast{color:#000;font-weight:700}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.bg-primary{background-color:var(--color-primary);color:#fff}.bg-secondary{background-color:var(--color-secondary);color:#fff}
