@charset "UTF-8";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-primary:#2196f3;--color-primary-light:#64b5f6;--color-primary-dark:#1976d2;--color-driver:#4caf50;--color-driver-light:#81c784;--color-kinstructor:#2196f3;--color-kinstructor-light:#64b5f6;--color-lead:#ff9800;--color-lead-light:#ffb74d;--pattern-driver:url("data:image/svg+xml;charset=utf-8,%3Csvg width='4' height='4' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h4v4H0z' fill='%234CAF50'/%3E%3C/svg%3E");--pattern-kinstructor:repeating-linear-gradient(45deg,#0000,#0000 2px,#ffffff4d 0,#ffffff4d 4px);--pattern-lead:repeating-linear-gradient(-45deg,#0000,#0000 2px,#ffffff4d 0,#ffffff4d 4px);--color-success:#4caf50;--color-warning:#ff9800;--color-error:#f44336;--color-info:#2196f3;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#eee;--color-gray-300:#e0e0e0;--color-gray-400:#bdbdbd;--color-gray-500:#9e9e9e;--color-gray-600:#757575;--color-gray-700:#616161;--color-gray-800:#424242;--color-gray-900:#212121;--font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--transition-fast:150ms ease-in-out;--transition-base:250ms ease-in-out;--transition-slow:350ms ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--breakpoint-xs:320px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px}@media (min-width:640px){:root{--current-breakpoint:"sm"}}@media (min-width:768px){:root{--current-breakpoint:"md"}}@media (min-width:1024px){:root{--current-breakpoint:"lg"}}@media (min-width:1280px){:root{--current-breakpoint:"xl"}}.container{margin-left:auto;margin-right:auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md);width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.focus-visible:focus{outline:2px solid var(--color-primary);outline-offset:2px}.focus-visible:focus:not(:focus-visible){outline:none}.skip-link{background:var(--color-primary);color:#fff;left:0;padding:var(--spacing-sm) var(--spacing-md);position:absolute;text-decoration:none;top:-40px;z-index:var(--z-tooltip)}.skip-link:focus{top:0}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.py-xs{padding-bottom:var(--spacing-xs);padding-top:var(--spacing-xs)}.py-sm{padding-bottom:var(--spacing-sm);padding-top:var(--spacing-sm)}.py-md{padding-bottom:var(--spacing-md);padding-top:var(--spacing-md)}.w-full{width:100%}.w-auto{width:auto}.border{border:1px solid var(--color-gray-300)}.border-t{border-top:1px solid var(--color-gray-300)}.border-b{border-bottom:1px solid var(--color-gray-300)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.bg-white{background-color:#fff}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.session-timeout-overlay{align-items:center;background-color:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.session-timeout-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;padding:2rem;text-align:center;width:90%}.modal-icon{font-size:3rem;margin-bottom:1rem}.session-timeout-modal h2{color:#111827;font-size:1.5rem;margin-bottom:1rem}.session-timeout-modal p{color:#6b7280;line-height:1.5;margin-bottom:.5rem}.session-timeout-modal p strong{color:#dc2626;font-weight:600}.modal-actions{gap:1rem;justify-content:center}.modal-actions button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.modal-actions .btn-primary{background:linear-gradient(135deg,#6ca6f1,#8bbef7);color:#fff}.modal-actions .btn-primary:hover{box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.modal-actions .btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.modal-actions .btn-secondary:hover{background:#e5e7eb}.main-navigation{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;position:sticky;top:0;z-index:1000}.nav-container{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:1280px;padding:0 1rem}.nav-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6ca6f1,#8bbef7);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;text-decoration:none;transition:opacity .2s}.nav-logo:hover{opacity:.8}.nav-links{align-items:center;display:flex;gap:1.5rem}.nav-link{border-radius:.375rem;color:#374151;font-size:.95rem;font-weight:500;padding:.5rem .75rem;text-decoration:none;transition:color .2s}.nav-link:hover{background:#f3f4f6;color:#667eea}.nav-link-primary{background:linear-gradient(135deg,#6ca6f1,#8bbef7);color:#fff;padding:.5rem 1rem}.nav-link-primary:hover{box-shadow:0 2px 8px #667eea4d;color:#fff;opacity:.9;transform:translateY(-1px)}.nav-user{align-items:center;border-left:1px solid #e5e7eb;display:flex;gap:1rem;padding-left:1rem}.user-name{color:#374151;font-size:.95rem}.nav-logout{background:#0000;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;padding:.375rem .75rem;transition:all .2s}.nav-logout:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width:768px){.nav-container{padding:0 1rem}.nav-links{gap:.75rem}.nav-link,.user-name{font-size:.875rem}.user-name{display:none}.nav-user{padding-left:.75rem}.nav-logo{font-size:1.25rem}}.app-footer{background-color:#2c3e50;border-top:3px solid #3498db;box-shadow:0 -2px 10px #0000001a;color:#ecf0f1;margin-top:auto;padding:20px 0}.footer-content{align-items:center;display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:1200px;padding:0 20px;text-align:center}.footer-alpha-notice{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.alpha-badge{background-color:#e74c3c;border-radius:4px;color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.footer-text{color:#ecf0f1;font-size:.9rem;line-height:1.5}.footer-support{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.footer-link{color:#3498db;font-weight:500;text-decoration:none;transition:color .2s ease}.footer-link:hover{color:#5dade2;text-decoration:underline}.footer-copyright{border-top:1px solid #ecf0f133;padding-top:8px;width:100%}.footer-copyright .footer-text{color:#bdc3c7;font-size:.85rem}@media (max-width:768px){.footer-content{gap:10px}.footer-text{font-size:.85rem}.alpha-badge{font-size:.8rem;padding:3px 10px}}.impact-data-box{width:250px;z-index:9999}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-container{position:relative}.impact-data-box{background:#fffffff2;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:15px;pointer-events:none;position:absolute;z-index:1000}.auth-container{align-items:center;background:linear-gradient(135deg,#6ca6f1,#8bbef7);display:flex;justify-content:center;min-height:100vh;padding:1rem}.auth-card{max-width:450px}.auth-card,.dashboard-card{animation:slideIn .3s ease-out;background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;padding:2.5rem;width:100%}.dashboard-card{max-width:900px}.auth-header{margin-bottom:2rem;text-align:center}.auth-header h1{color:#1f2937;font-size:1.875rem;font-weight:700;margin:0 0 .5rem}.auth-subtitle{color:#6b7280;font-size:.95rem;margin:0}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group input{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;padding:.75rem 1rem;transition:all .2s}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-hint{color:#6b7280;font-size:.75rem;margin-top:-.25rem}.password-strength{display:flex;flex-direction:column;gap:.25rem}.strength-bar-container{background:#e5e7eb;border-radius:2px;height:4px;overflow:hidden;width:100%}.strength-bar{border-radius:2px;height:100%;transition:all .3s ease}.btn-primary{align-items:center;background:linear-gradient(135deg,#6ca6f1,#8bbef7);border:none;border-radius:.5rem;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;transition:all .2s}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66}.btn-secondary{align-items:center;border-radius:.5rem;display:flex;font-size:.95rem;gap:.5rem;justify-content:center;padding:.75rem 1.25rem}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-google{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;color:#374151;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;padding:.875rem 1.5rem;transition:all .2s}.btn-google:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;box-shadow:0 2px 8px #0000001a}.btn-google:disabled{cursor:not-allowed;opacity:.6}.auth-divider{align-items:center;display:flex;gap:1rem;margin:1.5rem 0}.auth-divider:after,.auth-divider:before{background:#d1d5db;content:"";flex:1 1;height:1px}.auth-divider span{color:#6b7280;font-size:.875rem;font-weight:500}.auth-footer{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;text-align:center}.auth-footer p{color:#6b7280;font-size:.95rem;margin:0}.auth-link{color:#667eea;font-weight:600;text-decoration:none;transition:color .2s}.auth-link:hover{color:#764ba2;text-decoration:underline}.auth-error{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#991b1b}.auth-error,.auth-success{align-items:center;display:flex;font-size:.95rem;gap:.5rem;margin-bottom:1rem;padding:.875rem 1rem}.auth-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;color:#166534}.workspace-notice{align-items:flex-start;background:#f0f9ff;border:1px solid #bae6fd;border-radius:.5rem;color:#075985;display:flex;font-size:.85rem!important;gap:.5rem;margin-top:.5rem;padding:.75rem 1rem}.workspace-notice svg{flex-shrink:0;margin-top:.125rem}.auth-info{align-items:flex-start;background:#f0f9ff;border:1px solid #bae6fd;border-radius:.5rem;color:#075985;display:flex;font-size:.95rem;gap:.75rem;padding:.875rem 1rem}.auth-info svg{flex-shrink:0;margin-top:.125rem}.auth-info strong{color:#0c4a6e;display:block;margin-bottom:.25rem}.field-error{color:#dc2626}.field-error,.field-success{display:block;font-size:.875rem;margin-top:.25rem}.field-success{color:#16a34a}.loading-spinner{flex-direction:column;gap:1rem;padding:3rem 2rem}.spinner{border:4px solid #e5e7eb;border-top-color:#667eea;height:48px;width:48px}.loading-spinner p{color:#6b7280;font-size:.95rem}.dashboard-header{border-bottom:1px solid #e5e7eb;padding-bottom:2rem}.profile-section{align-items:center;display:flex;gap:1.5rem}.profile-avatar{border-radius:50%;height:80px;overflow:hidden;width:80px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#6ca6f1,#8bbef7);color:#fff;display:flex;font-size:2rem;font-weight:700;height:100%;justify-content:center;width:100%}.profile-info{display:flex;flex-direction:column;gap:.5rem}.profile-info h1{color:#1f2937;font-size:1.75rem;font-weight:700;margin:0}.profile-email{color:#6b7280;font-size:.95rem;margin:0}.user-type-badge{border-radius:9999px;color:#fff;letter-spacing:.025em;text-transform:uppercase;width:fit-content}.dashboard-section{display:flex;flex-direction:column;gap:1rem}.dashboard-section h2{color:#1f2937;font-size:1.25rem;font-weight:700;margin:0}.section-description{font-size:.95rem;margin:0}.action-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.action-card{align-items:center;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.action-card:hover{box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.action-card svg{color:#667eea}.action-card span{color:#374151;font-size:.95rem;font-weight:600}.info-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{gap:.5rem}.info-item label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.info-item p{color:#1f2937;font-size:1rem;margin:0}@media (max-width:640px){.auth-card,.dashboard-card{padding:2rem 1.5rem}.form-row{grid-template-columns:1fr}.auth-header h1{font-size:1.5rem}.dashboard-header{gap:1rem}.dashboard-header,.profile-section{align-items:flex-start;flex-direction:column}.profile-section{width:100%}.action-grid,.info-grid{grid-template-columns:1fr}}.action-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;padding:24px;position:relative;text-align:center;transition:all .2s}.action-card:hover{border-color:#667eea;box-shadow:0 8px 16px #00000026;transform:translateY(-4px)}.action-card:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea33;outline:none}.action-card-disabled{background:#f9fafb;cursor:not-allowed;opacity:.6}.action-card-disabled:hover{border-color:#0000;box-shadow:0 1px 3px #0000001a;transform:none}.action-card-badge{background:linear-gradient(135deg,#6ca6f1,#8bbef7);border-radius:12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;position:absolute;right:12px;text-transform:uppercase;top:12px}.action-card-icon{font-size:48px;margin-bottom:16px}.action-card-title{color:#111827;font-size:18px;font-weight:600;margin:0 0 8px}.action-card-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0}@media (max-width:768px){.action-card{padding:20px}.action-card-icon{font-size:40px;margin-bottom:12px}.action-card-title{font-size:16px}.action-card-description{font-size:13px}}.dashboard-section{margin-bottom:40px}.dashboard-section-title{color:#6b7280;font-size:14px;font-weight:700;letter-spacing:1px;margin:0 0 20px;padding-left:4px;text-transform:uppercase}.dashboard-section-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media (max-width:768px){.dashboard-section{margin-bottom:32px}.dashboard-section-title{font-size:13px;margin-bottom:16px}.dashboard-section-content{gap:16px;grid-template-columns:1fr}}.loading-container{min-height:200px;padding:3rem}.loading-spinner{align-items:center;animation:spin 1.5s linear infinite;display:flex;justify-content:center}.loading-spinner.small{height:32px;width:32px}.loading-spinner.small .carrot-icon{font-size:24px}.loading-spinner.medium{height:56px;width:56px}.loading-spinner.medium .carrot-icon{font-size:48px}.loading-spinner.large{height:80px;width:80px}.loading-spinner.large .carrot-icon{font-size:72px}.carrot-icon{display:inline-block;line-height:1}.loading-message{color:#666;font-size:1rem;margin-top:1rem}:root{--admin-primary:#991b1b;--admin-primary-dark:#7f1d1d;--admin-primary-light:#dc2626;--admin-primary-lighter:#ef4444;--admin-accent:#fca5a5;--admin-bg-gradient-start:#991b1b;--admin-bg-gradient-end:#7f1d1d;--admin-text-primary:#2d3748;--admin-text-secondary:#718096;--admin-text-light:#a0aec0;--admin-success:#10b981;--admin-warning:#f59e0b;--admin-danger:#dc2626;--admin-info:#3b82f6;--admin-shadow-sm:0 1px 2px 0 #991b1b0d;--admin-shadow:0 4px 6px -1px #991b1b1a;--admin-shadow-lg:0 10px 15px -3px #991b1b1a;--admin-shadow-xl:0 20px 25px -5px #991b1b1a}.admin-dashboard-container,.admin-page-container{background:linear-gradient(135deg,#991b1b,#7f1d1d);background:linear-gradient(135deg,var(--admin-bg-gradient-start) 0,var(--admin-bg-gradient-end) 100%);min-height:calc(100vh - 60px);padding:2rem 1rem}.admin-dashboard,.admin-page-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;margin:0 auto;max-width:1200px;padding:2.5rem}.admin-dashboard h1,.admin-page-content h1{color:#2d3748;color:var(--admin-text-primary);font-size:2.5rem;margin-bottom:.5rem}.admin-dashboard .welcome-text,.admin-page-content .welcome-text{color:#718096;color:var(--admin-text-secondary);font-size:1.1rem;margin-bottom:2rem}.btn-admin-primary{background-color:#991b1b;background-color:var(--admin-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-admin-primary:hover{background-color:#7f1d1d;background-color:var(--admin-primary-dark);box-shadow:0 10px 15px -3px #991b1b1a;box-shadow:var(--admin-shadow-lg);transform:translateY(-1px)}.btn-admin-primary:active{transform:translateY(0)}.btn-admin-primary:disabled{background-color:#a0aec0;background-color:var(--admin-text-light);cursor:not-allowed;transform:none}.btn-admin-secondary{background-color:#fff;border:2px solid #991b1b;border:2px solid var(--admin-primary);border-radius:6px;color:#991b1b;color:var(--admin-primary);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-admin-secondary:hover{background-color:#991b1b;background-color:var(--admin-primary);color:#fff}.btn-admin-danger{background-color:#dc2626;background-color:var(--admin-danger);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-admin-danger:hover{background-color:#b91c1c;box-shadow:0 10px 15px -3px #991b1b1a;box-shadow:var(--admin-shadow-lg);transform:translateY(-1px)}.admin-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.admin-stat-card{align-items:center;background:#fff;border:2px solid #f3f4f6;border-radius:8px;display:flex;gap:1rem;padding:1.5rem;transition:all .2s}.admin-stat-card:hover{border-color:#fca5a5;border-color:var(--admin-accent);box-shadow:0 4px 6px -1px #991b1b1a;box-shadow:var(--admin-shadow);transform:translateY(-2px)}.admin-stat-card.highlight{background:linear-gradient(135deg,#fef2f2,#fff);border-color:#dc2626;border-color:var(--admin-primary-light)}.admin-stat-icon{align-items:center;background:linear-gradient(135deg,#fca5a5,#ef4444);background:linear-gradient(135deg,var(--admin-accent) 0,var(--admin-primary-lighter) 100%);border-radius:12px;color:#fff;display:flex;font-size:2rem;height:60px;justify-content:center;width:60px}.admin-stat-content h3{color:#991b1b;color:var(--admin-primary);font-size:2rem;font-weight:700;margin:0}.admin-stat-content p{color:#718096;color:var(--admin-text-secondary);font-size:.875rem;margin:0}.admin-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.admin-badge.admin-badge-coming-soon{background-color:#a0aec0;background-color:var(--admin-text-light);color:#fff}.admin-dashboard .action-card{border:2px solid #f3f4f6;transition:all .2s}.admin-dashboard .action-card:hover:not(.disabled){border-color:#dc2626;border-color:var(--admin-primary-light);box-shadow:0 10px 15px -3px #991b1b1a;box-shadow:var(--admin-shadow-lg);transform:translateY(-2px)}.admin-dashboard .action-card .card-icon{background:linear-gradient(135deg,#991b1b,#7f1d1d);background:linear-gradient(135deg,var(--admin-primary) 0,var(--admin-primary-dark) 100%)}@media (max-width:768px){.admin-dashboard-container,.admin-page-container{padding:1rem}.admin-dashboard,.admin-page-content{padding:1.5rem}.admin-dashboard h1,.admin-page-content h1{font-size:2rem}.admin-stats-grid{grid-template-columns:1fr}}.admin-dashboard-header{margin-bottom:2rem}.admin-dashboard-header h1{margin:0}.admin-dashboard-header .welcome-text{margin:.5rem 0 0}.user-type-breakdown{background:#f9fafb;border-left:4px solid var(--admin-primary);border-radius:8px;margin-top:1rem;padding:1rem}.user-type-breakdown p{color:var(--admin-text-secondary);font-size:.95rem;margin:0}.user-type-breakdown strong{color:var(--admin-text-primary)}.admin-dashboard h2{color:var(--admin-danger);margin-bottom:1rem}.admin-dashboard p{color:var(--admin-text-secondary);margin-bottom:1.5rem}.admin-dashboard .dashboard-section{margin-bottom:2rem}.admin-dashboard .dashboard-section:last-child{margin-bottom:0}@media (max-width:768px){.admin-dashboard-header h1{font-size:1.75rem}.user-type-breakdown{font-size:.875rem}}.user-delete-dialog-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.user-delete-dialog{animation:slideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.user-delete-dialog-header{border-bottom:1px solid #e5e7eb;padding:1.5rem 1.5rem 1rem}.user-delete-dialog-header h2{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.user-delete-dialog-body{padding:1.5rem}.user-delete-info{background:#f9fafb;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.user-delete-info p{color:#6b7280;font-size:.95rem;line-height:1.5;margin:.5rem 0}.user-delete-info strong{color:#111827}.delete-type-selection h3{color:#111827;font-size:1rem;font-weight:600;margin:0 0 1rem}.delete-radio-option{align-items:flex-start;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;margin-bottom:1rem;padding:1rem;transition:all .2s ease}.delete-radio-option:hover{background:#f9fafb;border-color:#3b82f6}.delete-radio-option input[type=radio]{cursor:pointer;flex-shrink:0;height:18px;margin-right:1rem;margin-top:.25rem;width:18px}.delete-radio-option input[type=radio]:checked{accent-color:#3b82f6}.delete-radio-content{flex:1 1}.delete-radio-title{color:#111827;font-weight:600;margin-bottom:.25rem}.delete-radio-description{color:#6b7280;font-size:.9rem;line-height:1.5}.delete-warning-text{color:#dc2626}.delete-warning-box{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.delete-warning-title{color:#dc2626;font-size:1rem;font-weight:600;margin:0 0 .5rem}.delete-warning-box p{color:#991b1b;font-size:.95rem;line-height:1.5;margin:0}.delete-form-group{margin-bottom:1.5rem}.delete-form-group label{color:#111827;display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem}.delete-form-required{color:#dc2626}.delete-form-group input[type=text],.delete-form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.95rem;padding:.75rem;transition:border-color .2s ease;width:100%}.delete-form-group input[type=text]:focus,.delete-form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.delete-form-group input[type=text]:disabled,.delete-form-group textarea:disabled{background:#f3f4f6;cursor:not-allowed}.delete-field-hint{color:#6b7280;font-size:.85rem;margin-top:.5rem}.delete-error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.9rem;margin-top:1rem;padding:.75rem 1rem}.user-delete-dialog-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}.user-delete-dialog-footer .btn{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s}.user-delete-dialog-footer .btn:focus{outline:2px solid;outline-offset:2px}.user-delete-dialog-footer .btn-secondary{background-color:#f3f4f6;color:#374151}.user-delete-dialog-footer .btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.user-delete-dialog-footer .btn-secondary:focus{outline-color:#9ca3af}.user-delete-dialog-footer .btn-warning{background-color:#f59e0b;color:#fff}.user-delete-dialog-footer .btn-warning:hover:not(:disabled){background-color:#d97706}.user-delete-dialog-footer .btn-warning:focus{outline-color:#f59e0b}.user-delete-dialog-footer .btn-danger{background-color:#dc2626;color:#fff}.user-delete-dialog-footer .btn-danger:hover:not(:disabled){background-color:#b91c1c}.user-delete-dialog-footer .btn-danger:focus{outline-color:#dc2626}.user-delete-dialog-footer .btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:640px){.user-delete-dialog{max-width:none;width:95%}.user-delete-dialog-body,.user-delete-dialog-footer,.user-delete-dialog-header{padding:1rem}.user-delete-dialog-footer{flex-direction:column-reverse}.user-delete-dialog-footer .btn{width:100%}}.user-management-header{margin-bottom:2rem}.header-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.header-title h1{margin:0}.btn-back{font-size:.95rem;padding:.5rem 1rem}.header-actions{flex-wrap:wrap;gap:1rem}.search-bar{flex:1 1;min-width:300px;position:relative}.search-input{border:2px solid #e5e7eb;font-size:1rem;padding:.75rem 2.5rem .75rem 1rem;transition:border-color .2s}.search-input:focus{border-color:var(--admin-primary)}.search-clear{background:none;border:none;color:var(--admin-text-secondary);cursor:pointer;font-size:1.2rem;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.search-clear:hover{color:var(--admin-primary)}.filters-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.filters-grid{align-items:end;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group label{color:var(--admin-text-primary)}.filter-select{border:2px solid #e5e7eb;font-size:.95rem;padding:.625rem}.filter-select:focus{border-color:var(--admin-primary)}.btn-clear-filters{border:2px solid var(--admin-primary);color:var(--admin-primary);font-weight:600}.btn-clear-filters:hover{background:var(--admin-primary);color:#fff}.error-message{align-items:center;background:#fef2f2;color:var(--admin-danger);display:flex;justify-content:space-between;margin-bottom:1.5rem}.users-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.users-table-container h3{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:var(--admin-text-primary);margin:0;padding:1rem 1.5rem}.table-wrapper{overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.users-table th{color:var(--admin-text-primary);font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.users-table th.sortable{cursor:pointer;transition:color .2s;-webkit-user-select:none;user-select:none}.users-table th.sortable:hover{color:var(--admin-primary)}.users-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.users-table tbody tr:hover{background:#f9fafb}.users-table tbody tr.row-self{background:#fef2f2}.users-table tbody tr.row-self:hover{background:#fee2e2}.users-table td{color:var(--admin-text-secondary);padding:1rem}.user-name{color:var(--admin-text-primary);font-weight:600}.badge-you{background:var(--admin-primary);border-radius:4px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.125rem .5rem}.status-badge{align-items:center;display:inline-flex}.status-badge:before{border-radius:50%;content:"";display:inline-block;height:8px;margin-right:.5rem;width:8px}.status-active{background:#d1fae5;color:#065f46}.status-active:before{background:#10b981}.status-inactive{background:#e5e7eb;color:#6b7280}.status-inactive:before{background:#9ca3af}.status-deleted{background:#fee2e2;color:#991b1b}.status-deleted:before{background:#dc2626}.user-type-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.type-default{background:#dbeafe;color:#1e40af}.type-workspace{background:#e9d5ff;color:#6b21a8}.type-manager{background:#fed7aa;color:#92400e}.type-admin{background:#fee2e2;color:#991b1b}.btn-action{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:1.1rem;padding:.5rem .75rem;transition:all .2s}.btn-action:hover:not(:disabled){transform:scale(1.1)}.btn-action:disabled{cursor:not-allowed;opacity:.3}.btn-edit:hover:not(:disabled){background:#dbeafe}.btn-delete:hover:not(:disabled){background:#fee2e2}.btn-restore{align-items:center;background:#fff;border:1px solid #10b981;border-radius:6px;color:#10b981;display:flex;font-size:.875rem;font-weight:600;gap:.25rem}.btn-restore:hover{background:#10b981;color:#fff;transform:scale(1.05)}.pagination{background:#f9fafb;padding:1rem 1.5rem}.btn-pagination{background:#fff;border:2px solid var(--admin-primary);border-radius:6px;color:var(--admin-primary);cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s}.btn-pagination:hover:not(:disabled){background:var(--admin-primary);color:#fff}.btn-pagination:disabled{border-color:#e5e7eb;color:var(--admin-text-light);cursor:not-allowed;opacity:.3}.empty-state,.pagination-info{color:var(--admin-text-secondary)}.empty-state p:first-child{color:var(--admin-text-primary);font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.empty-state p:last-of-type{margin-bottom:1.5rem}@media (max-width:1024px){.filters-grid{grid-template-columns:1fr 1fr}.btn-clear-filters{grid-column:1/-1}}@media (max-width:768px){.header-title{align-items:flex-start;flex-direction:column;gap:1rem}.header-actions{flex-direction:column;width:100%}.header-actions .btn-admin-primary,.search-bar{min-width:auto;width:100%}.filters-grid{grid-template-columns:1fr}.table-wrapper{overflow-x:scroll}.users-table{min-width:800px}.pagination{flex-direction:column;gap:1rem}.pagination-info{order:-1}}.form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.form-header h1{margin:0}.form-placeholder{background:#f9fafb;border:2px dashed #e5e7eb;border-radius:8px;margin-bottom:2rem;padding:3rem 2rem;text-align:center}.form-placeholder p{color:var(--admin-text-secondary);margin:.5rem 0}@media (max-width:768px){.form-header{align-items:flex-start;flex-direction:column;gap:1rem}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.volunteer-form-container{align-items:flex-start;background-color:#f9fafb;display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.volunteer-form-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-width:800px;padding:40px;width:100%}.volunteer-form-card h1{color:#111827;font-size:28px;font-weight:700;margin-bottom:12px;text-align:center}.volunteer-form-card .subtitle{color:#6b7280;font-size:16px;line-height:1.6;margin-bottom:32px;text-align:center}.loading-container{padding:60px 20px;text-align:center}.spinner{border:3px solid #e5e7eb;border-top-color:#2563eb;height:40px;margin:0 auto 16px;width:40px}.loading-container p{font-size:16px}.alert{border-radius:8px;font-size:14px;line-height:1.6;margin-bottom:24px;padding:16px}.alert-error{color:#dc2626}.alert-success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.form-section{margin-bottom:32px;padding-bottom:32px}.form-section:last-of-type{border-bottom:none}.form-section h2{border-bottom:2px solid #e5e7eb;color:#111827;font-size:18px;font-weight:600;padding-bottom:8px}.form-group,.form-section h2{margin-bottom:20px}.form-row{grid-gap:20px;gap:20px}.required{margin-left:2px}.form-group input[type=email],.form-group input[type=tel],.form-group input[type=text],.form-group select{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#111827;font-size:16px;height:48px;padding:12px 16px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group input::placeholder{color:#9ca3af}.input-invalid{border-color:#dc2626!important}.input-invalid:focus{box-shadow:0 0 0 3px #dc26261a!important}.input-valid{border-color:#10b981}.error-message{font-size:14px;line-height:1.4}.help-text{color:#6b7280;display:block;font-size:13px;line-height:1.4;margin-top:6px}.checkbox-group{margin-bottom:24px}.checkbox-label{color:#374151;font-size:14px}.checkbox-label input[type=checkbox]{border:2px solid #d1d5db;border-radius:4px;margin-right:12px;min-width:20px}.checkbox-label input[type=checkbox]:checked{accent-color:#2563eb}.checkbox-label input[type=checkbox]:focus{outline:2px solid #2563eb;outline-offset:2px}.form-actions{justify-content:center}.btn{min-width:200px;padding:14px 32px}.btn-primary{background-color:#2563eb}.btn-primary:hover:not(:disabled){background-color:#1d4ed8;box-shadow:0 4px 6px #2563eb33;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn:disabled{background-color:#9ca3af}@media (max-width:768px){.volunteer-form-container{padding:20px 16px}.volunteer-form-card{padding:32px 24px}.volunteer-form-card h1{font-size:24px}.form-row{grid-template-columns:1fr}.btn{width:100%}}@media (max-width:640px){.volunteer-form-container{padding:16px}.volunteer-form-card{border-radius:8px;padding:24px 20px}.volunteer-form-card h1{font-size:22px}.volunteer-form-card .subtitle{font-size:14px;margin-bottom:24px}.form-section{margin-bottom:24px;padding-bottom:24px}.form-section h2{font-size:16px}.form-group,.form-section h2{margin-bottom:16px}.form-group input[type=email],.form-group input[type=tel],.form-group input[type=text],.form-group select{font-size:16px;height:44px}.form-actions{margin-top:24px}.btn{min-width:auto;padding:12px 24px}}@media print{.volunteer-form-container{background-color:#fff;padding:0}.volunteer-form-card{box-shadow:none}.alert,.btn{display:none}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}.btn,.form-group input,.form-group select{transition:none}}@media (prefers-contrast:high){.form-group input,.form-group select{border-width:2px}.btn-primary{border:2px solid #fff}}.profile-completeness{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:32px;padding:24px}.completeness-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.completeness-title{color:#111827;font-size:18px;font-weight:600;margin:0}.completeness-percentage{font-size:24px;font-weight:700}.completeness-progress-bar-container{background-color:#e5e7eb;border-radius:6px;display:block;height:12px;margin-bottom:12px;overflow:hidden;width:100%}.completeness-progress-bar-fill{border-radius:6px;display:block;height:100%;min-width:0;transition:width .8s ease-out}.completeness-status{font-size:14px;font-weight:600;margin-bottom:16px;text-align:center}.completeness-items{margin-top:12px}.items-complete,.items-pending{font-size:14px;line-height:1.6;padding:8px 0}.items-complete{color:#059669}.items-pending{color:#dc2626}.items-complete strong,.items-pending strong{display:inline-block;margin-right:4px}.completeness-success{align-items:center;animation:slideIn .5s ease-out;background:linear-gradient(135deg,#d4f4dd,#b7e4c7);border:2px solid #48bb78;border-radius:8px;display:flex;gap:12px;margin:16px 0;padding:16px}.success-icon{font-size:32px;line-height:1}.completeness-success strong{color:#065f46;font-size:16px}.completeness-breakdown{background:#f9fafb;border-radius:8px;margin:16px 0;padding:16px}.breakdown-item{margin-bottom:12px}.breakdown-item:last-child{margin-bottom:0}.breakdown-item strong{color:#374151;display:block;font-size:14px;margin-bottom:8px}.completeness-breakdown-bar{background-color:#e5e7eb;border-radius:4px;display:block;height:8px;overflow:hidden;width:100%}.completeness-breakdown-bar-fill{border-radius:4px;display:block;height:100%;min-width:0;transition:width .8s ease-out}.completeness-forms-alert{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#fff5f5,#ffe5e5);border:2px solid #f56565;border-radius:8px;display:flex;gap:16px;margin:16px 0;padding:16px}.forms-alert-icon{flex-shrink:0;font-size:32px;line-height:1}.forms-alert-content{flex:1 1}.forms-alert-content strong{color:#991b1b;display:block;font-size:16px;margin-bottom:8px}.forms-alert-content p{color:#7f1d1d;font-size:14px;margin:0 0 8px}.forms-alert-list{color:#7f1d1d;list-style:disc;margin:8px 0 12px 20px;padding:0}.forms-alert-list li{font-size:14px;margin:4px 0}.forms-alert-button{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:8px;padding:10px 20px;transition:background .2s ease}.forms-alert-button:hover{background:#b91c1c}.forms-alert-button:active{transform:scale(.98)}.completeness-list{list-style:none;margin:8px 0 0;padding:0}.completeness-list li{padding:4px 0 4px 20px;position:relative}.completeness-list li:before{content:"•";font-weight:700;left:0;position:absolute}.refresh-button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:16px;padding:10px 20px;transition:background .2s ease;width:100%}.refresh-button:hover{background:#2563eb}.refresh-button:active{transform:scale(.98)}@media (max-width:768px){.profile-completeness{padding:20px}.completeness-title{font-size:16px}.completeness-percentage{font-size:20px}.completeness-items{font-size:13px}.completeness-forms-alert{flex-direction:column;gap:12px}.forms-alert-icon{font-size:24px}.forms-alert-button{width:100%}}.alert{align-items:center;border-radius:4px;display:flex;font-size:.95rem;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.25rem}.alert-content{flex:1 1}.alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;line-height:1;margin-left:1rem;opacity:.7;padding:0;transition:opacity .2s}.alert-close:hover{opacity:1}.alert-error{background-color:#fee;border:1px solid #fcc;color:#c33}.alert-success{background-color:#efe;border:1px solid #cfc;color:#3c3}.alert strong{margin-right:.5rem}.default-dashboard-container{background-color:#f9fafb;margin:0 auto;max-width:1200px;min-height:100vh;padding:40px 20px}.dashboard-header{flex-wrap:wrap;gap:20px;margin-bottom:32px}.header-content{gap:20px}.avatar,.header-content{align-items:center;display:flex}.avatar{background:linear-gradient(135deg,#6ca6f1,#8bbef7);border-radius:50%;box-shadow:0 4px 6px #667eea4d;color:#fff;flex-shrink:0;font-size:24px;font-weight:700;height:64px;justify-content:center;width:64px}.header-text{display:flex;flex-direction:column;gap:4px}.welcome-title{color:#111827;font-size:28px;font-weight:700;margin:0}.chapter-info{font-size:16px;margin:0}.btn-primary,.btn-retry{background:linear-gradient(135deg,#6ca6f1,#8bbef7);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:20px;padding:12px 32px;transition:all .2s}.btn-primary:hover,.btn-retry:hover{box-shadow:0 4px 8px #667eea4d;transform:translateY(-2px)}@media (max-width:768px){.default-dashboard-container{padding:24px 16px}.dashboard-header{align-items:flex-start;flex-direction:column}.header-content{width:100%}.welcome-title{font-size:24px}.chapter-info{font-size:14px}.avatar{font-size:20px;height:56px;width:56px}}@media (max-width:480px){.welcome-title{font-size:20px}.header-content{gap:16px}}.preferences-section{padding:24px}.preferences-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:20px}.preferences-intro{color:#6b7280;flex:1 1;font-size:15px;margin:0}.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.preferences-container{margin-top:24px}@media (max-width:768px){.preferences-header{align-items:flex-start;flex-direction:column}.btn-secondary{width:100%}}.volunteer-edit-container{background-color:#f9fafb;margin:0 auto;max-width:900px;min-height:100vh;padding:40px 20px}.edit-header{margin-bottom:32px}.edit-header h1{color:#111827;font-size:32px;font-weight:700;margin:0 0 8px}.edit-subtitle{color:#6b7280;font-size:16px;margin:0}.edit-form{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:32px}.locked-fields-section{border-bottom:2px solid #e5e7eb;margin-bottom:32px;padding-bottom:32px}.locked-fields-section h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 20px}.locked-fields-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.locked-field label{color:#6b7280;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.locked-value{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#111827;font-size:16px;padding:12px 16px}.editable-fields-section h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 20px}.form-group{margin-bottom:24px}.form-group label{margin-bottom:8px}.form-group input[type=email],.form-group input[type=tel],.form-group select{border:2px solid #e5e7eb;border-radius:8px;font-size:16px;padding:12px 16px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input-error{border-color:#dc2626!important}.error-message{font-size:13px;margin-top:6px}.checkbox-label{align-items:flex-start;font-weight:400!important;gap:12px}.checkbox-label input[type=checkbox]{flex-shrink:0;height:20px;margin-top:2px;width:20px}.checkbox-label span{color:#374151;font-size:14px;line-height:1.5}.form-actions{border-top:2px solid #e5e7eb;gap:16px;margin-top:32px;padding-top:24px}.btn-cancel,.btn-save,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 32px;transition:all .2s}.btn-cancel,.btn-secondary{background-color:#fff;border:2px solid #e5e7eb;color:#6b7280}.btn-cancel:hover,.btn-secondary:hover{background-color:#f9fafb;border-color:#d1d5db}.btn-save{background:linear-gradient(135deg,#6ca6f1,#8bbef7);color:#fff}.btn-save:hover:not(:disabled){box-shadow:0 4px 8px #667eea4d;transform:translateY(-2px)}.btn-cancel:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.volunteer-edit-container{padding:24px 16px}.edit-form{padding:24px}.edit-header h1{font-size:28px}.locked-fields-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-save,.btn-secondary{width:100%}}.empty-state{background-color:#f9f9f9;border:1px dashed #ddd;color:#666;margin:2rem 0;padding:3rem 2rem}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-action{margin-top:1.5rem}.feature-page-container{background-color:#f9fafb;margin:0 auto;max-width:1200px;min-height:100vh;padding:40px 20px}.btn-back{color:#667eea;font-size:14px;font-weight:600;transition:all .2s}.btn-back:hover{color:#764ba2;transform:translateX(-4px)}.page-header h1{margin:0 0 8px}.page-subtitle{color:#6b7280;font-size:16px;margin:0}.btn-retry{margin-top:20px}.content-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:32px}.info-section{margin-bottom:32px}.info-section:last-child{margin-bottom:0}.info-section h2{color:#111827;font-size:24px;font-weight:700;margin:0 0 20px}.info-section h3{border-bottom:2px solid #e5e7eb;font-size:18px;margin:0 0 16px;padding-bottom:12px}.info-item{background-color:#f9fafb;border-radius:8px;margin-bottom:20px;padding:16px}.info-item strong{color:#6b7280;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.info-item div{color:#111827;font-size:16px;line-height:1.5}.badge{background:linear-gradient(135deg,#6ca6f1,#8bbef7);color:#fff;font-size:14px;padding:4px 12px}.no-data{color:#9ca3af}.director-card{background-color:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:20px}.director-name{color:#111827;font-size:18px;font-weight:600;margin-bottom:16px}.director-contact{margin-bottom:12px}.director-contact:last-child{margin-bottom:0}.director-contact strong{color:#6b7280;display:inline-block;font-size:14px;width:80px}.director-contact a{color:#667eea;font-weight:500;text-decoration:none}.director-contact a:hover{text-decoration:underline}.events-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.event-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;transition:all .2s}.event-card:hover{border-color:#667eea;box-shadow:0 4px 8px #00000026}.event-header{border-bottom:2px solid #e5e7eb;margin-bottom:16px;padding-bottom:16px}.event-header h3{color:#111827;font-size:20px;font-weight:600;margin:0 0 8px}.event-date{color:#667eea;font-size:14px;font-weight:600}.event-detail{margin-bottom:12px}.event-detail:last-child{margin-bottom:0}.event-detail strong{color:#6b7280;display:block;font-size:14px;margin-bottom:4px}.event-address{color:#374151;font-size:14px;line-height:1.6}.assignments-list{gap:20px}.assignment-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;transition:all .2s}.assignment-card:hover{border-color:#667eea;box-shadow:0 4px 8px #00000026}.assignment-header{align-items:flex-start;border-bottom:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.assignment-header h3{color:#111827;font-size:20px;font-weight:600;margin:0}.assignment-term{background:linear-gradient(135deg,#6ca6f1,#8bbef7);border-radius:12px;color:#fff;font-size:13px;font-weight:600;padding:4px 12px}.assignment-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.assignment-detail{display:flex;flex-direction:column;gap:4px}.assignment-detail strong{color:#6b7280;font-size:13px;font-weight:600}.assignment-detail>:not(strong){color:#111827;font-size:15px}.status-badge{font-size:12px;letter-spacing:.5px;padding:4px 12px}.status-badge.active{background-color:#d1fae5}.status-badge.inactive{background-color:#fee2e2}.assignment-comment{background-color:#f9fafb;border-left:3px solid #667eea;border-radius:8px;color:#4b5563;font-size:14px;line-height:1.6;padding:12px}@media (max-width:768px){.feature-page-container{padding:24px 16px}.content-card{padding:24px}.page-header h1{font-size:28px}.events-grid{grid-template-columns:1fr}.assignment-header{align-items:flex-start;flex-direction:column}.assignment-details{grid-template-columns:1fr}.director-contact strong{display:block;margin-bottom:4px;width:auto}}@media (max-width:480px){.page-header h1{font-size:24px}.assignment-card,.event-card{padding:20px}}.badge{border-radius:12px;font-size:.875rem;font-weight:600;line-height:1.4;text-align:center;white-space:nowrap}.badge-active{background-color:#22c55e;color:#fff}.badge-inactive{background-color:#6b7280;color:#fff}.badge-success{background-color:#22c55e;color:#fff}.badge-warning{background-color:#f59e0b;color:#fff}.badge-error{background-color:#ef4444;color:#fff}.badge-info{background-color:#3b82f6;color:#fff}.forms-checklist{margin:0 auto;max-width:1200px;width:100%}.eligibility-notice{align-items:flex-start;animation:slideInDown .4s ease-out;background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:5px solid #f59e0b;border-radius:12px;box-shadow:0 2px 8px #f59e0b26;display:flex;gap:16px;margin-bottom:24px;padding:20px 24px}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.notice-icon{animation:pulse 2s ease-in-out infinite;flex-shrink:0;font-size:28px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notice-content{color:#78350f;flex:1 1;font-size:16px;line-height:1.5}.notice-content strong{color:#92400e;font-weight:700}.progress-overview{background:linear-gradient(135deg,#6ca6f1,#8bbef7);border-radius:16px;box-shadow:0 4px 12px #667eea4d;color:#fff;margin-bottom:40px;padding:32px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.progress-header h2{color:#fff;font-size:24px;font-weight:700;margin:0}.progress-percentage{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;font-size:36px;font-weight:700;padding:8px 20px}.progress-percentage.green{background:#48bb784d}.progress-percentage.blue{background:#4299e14d}.progress-percentage.orange{background:#f6ad554d}.progress-percentage.red{background:#f565654d}.progress-bar-container{background:#fff3;height:12px;margin-bottom:16px}.progress-bar-container,.progress-bar-fill{border-radius:6px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;transition:width .5s ease-in-out,background-color .3s ease}.progress-bar-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-bar-fill.green{background:linear-gradient(90deg,#48bb78,#38a169)}.progress-bar-fill.blue{background:linear-gradient(90deg,#4299e1,#3182ce)}.progress-bar-fill.orange{background:linear-gradient(90deg,#f6ad55,#ed8936)}.progress-bar-fill.red{background:linear-gradient(90deg,#f56565,#e53e3e)}.progress-summary{align-items:center;display:flex;flex-wrap:wrap;font-size:16px;gap:12px;margin:0}.progress-summary strong{font-weight:700}.completion-badge,.pending-badge{align-items:center;border-radius:8px;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-left:auto;padding:6px 12px}.completion-badge{background:#48bb784d}.pending-badge{background:#f6ad554d}.badge-icon{font-size:16px}.info-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-left:4px solid #ffffff80;border-radius:8px;font-size:14px;line-height:1.6;margin-top:20px;padding:16px}.info-box strong{font-weight:700}.forms-section{margin-bottom:48px}.forms-section:last-child{margin-bottom:0}.section-title{align-items:center;color:#111827;display:flex;font-size:24px;font-weight:700;gap:12px;margin:0 0 8px}.section-icon{font-size:28px}.section-description{color:#6b7280;font-size:16px;margin:0 0 24px}.forms-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.form-card{border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;padding:24px;transition:all .2s ease}.form-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.form-card.completed{background:linear-gradient(180deg,#fff,#48bb7805);border-color:#48bb78}.form-card.pending{border-color:#f6ad55}.form-card-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.form-title-row{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.form-title{color:#111827;font-size:18px;font-weight:600;margin:0}.form-card-body{flex:1 1;margin-bottom:20px}.form-description{color:#6b7280;font-size:14px;line-height:1.6;margin:0 0 16px}.completion-info{align-items:center;background:#48bb781a;border-radius:8px;display:flex;gap:8px;margin-bottom:12px;padding:12px}.completion-icon{color:#48bb78;font-size:18px;font-weight:700}.completion-text{color:#047857;font-size:14px;font-weight:500}.form-notes{background:#f9fafb;border-left:3px solid #667eea;border-radius:6px;color:#374151;font-size:14px;padding:12px}.form-notes strong{color:#111827;font-weight:600}.form-card-actions{display:flex;flex-wrap:wrap;gap:12px}.form-card-actions button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:140px;padding:12px 20px;transition:all .2s ease}.btn-form-link{background:#fff;border:2px solid #667eea;color:#667eea}.btn-form-link:hover:not(:disabled){background:#667eea;box-shadow:0 4px 8px #667eea4d;color:#fff;transform:translateY(-2px)}.btn-mark-complete{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.btn-mark-complete:hover:not(:disabled){box-shadow:0 4px 8px #48bb784d;transform:translateY(-2px)}.btn-mark-pending{background:#fff;border:2px solid #f6ad55;color:#f6ad55}.btn-mark-pending:hover:not(:disabled){background:#f6ad55;box-shadow:0 4px 8px #f6ad554d;color:#fff;transform:translateY(-2px)}.form-card-actions button:disabled{cursor:not-allowed;opacity:.6;transform:none}.empty-state{padding:60px 20px}.empty-state-icon{font-size:64px;margin-bottom:20px}.empty-state-message{color:#111827;font-size:20px;font-weight:600;margin:0 0 8px}.empty-state-description{color:#6b7280;font-size:16px;margin:0 0 24px}.btn-retry{background:linear-gradient(135deg,#6ca6f1,#8bbef7);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 32px;transition:all .2s}.btn-retry:hover{box-shadow:0 4px 8px #667eea4d;transform:translateY(-2px)}@media (max-width:1023px){.forms-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.progress-header h2{font-size:20px}.progress-percentage{font-size:28px;padding:6px 16px}.progress-overview{padding:24px}}@media (max-width:767px){.forms-checklist{padding:0}.eligibility-notice{border-radius:10px;gap:10px;margin-bottom:18px;padding:14px 16px}.notice-icon{font-size:22px}.notice-content{font-size:14px}.progress-overview{border-radius:12px;margin-bottom:24px;padding:20px}.progress-header{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:16px}.progress-header h2{font-size:18px}.progress-percentage{align-self:flex-end;font-size:24px;padding:4px 12px}.progress-summary{align-items:flex-start;flex-direction:column;gap:8px}.completion-badge,.pending-badge{align-self:flex-start;margin-left:0}.info-box{font-size:13px}.forms-grid{gap:16px;grid-template-columns:1fr}.section-title{font-size:20px}.section-icon{font-size:24px}.section-description{font-size:14px}.form-card{padding:16px}.form-card-header{flex-direction:column;gap:12px}.form-title{font-size:16px}.form-card-actions{flex-direction:column}.form-card-actions button{min-width:0;min-width:auto;width:100%}.empty-state{padding:40px 20px}.empty-state-icon{font-size:48px}.empty-state-message{font-size:18px}.empty-state-description{font-size:14px}}@media (prefers-contrast:high){.form-card{border-width:3px}.progress-bar-container{border:2px solid #ffffff80}}@media (prefers-reduced-motion:reduce){.btn-retry,.form-card,.form-card-actions button,.progress-bar-fill{transition:none}.progress-bar-fill:after{animation:none}.btn-retry:hover,.form-card-actions button:hover,.form-card:hover{transform:none}.eligibility-notice,.notice-icon{animation:none}}.form-card-actions button:focus-visible{outline:3px solid #667eea;outline-offset:2px}.btn-retry:focus-visible{outline:3px solid #fff;outline-offset:2px}@media print{.forms-checklist{background:#fff}.progress-overview{background:#fff;border:2px solid #000;color:#000}.form-card{break-inside:avoid;page-break-inside:avoid}.form-card-actions{display:none}}.weekly-schedule-grid{margin:0 auto;width:100%}.schedule-grid-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.schedule-grid{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:800px;overflow:hidden}.schedule-header{background:#f9fafb;border-bottom:2px solid #e5e7eb;display:grid;grid-template-columns:100px repeat(7,1fr)}.day-header,.time-header{color:#374151;font-size:14px;font-weight:600;padding:12px 8px;text-align:center}.day-header,.time-header{border-right:1px solid #e5e7eb}.day-header:last-child{border-right:none}.schedule-body{max-height:600px;overflow-y:auto}.schedule-row{border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:100px repeat(7,1fr)}.schedule-row:last-child{border-bottom:none}.time-label{align-items:center;background:#f9fafb;color:#6b7280;display:flex;font-size:12px;justify-content:center;left:0;padding:8px;position:sticky;text-align:center;z-index:1}.time-label,.time-slot{border-right:1px solid #e5e7eb}.time-slot{background:#fff;cursor:pointer;height:40px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.time-slot:last-child{border-right:none}.time-slot:hover:not(.read-only){background:#dbeafe}.time-slot.selected{background:#3b82f6;border-color:#2563eb}.time-slot.selected:hover:not(.read-only){background:#2563eb}.time-slot.read-only{cursor:default}.time-slot:focus{outline:2px solid #3b82f6;outline-offset:-2px;z-index:2}.schedule-legend{background:#f9fafb;border-radius:6px;display:flex;gap:24px;justify-content:center;margin-top:16px;padding:12px}.legend-item{color:#374151;font-size:14px;gap:8px}.legend-box{background:#fff;border:1px solid #e5e7eb;border-radius:4px;height:24px;width:24px}.legend-box.selected{background:#3b82f6;border-color:#2563eb}.schedule-mobile{width:100%}.day-tabs{-webkit-overflow-scrolling:touch;display:flex;gap:4px;margin-bottom:16px;overflow-x:auto;padding:4px 0}.day-tab{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;min-width:50px;padding:10px 8px;transition:all .2s ease}.day-tab:hover{background:#f9fafb}.day-tab.active{background:#3b82f6;border-color:#2563eb;color:#fff}.mobile-slots{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.mobile-day-title{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#111827;font-size:18px;font-weight:600;margin:0;padding:16px;text-align:center}.mobile-slot{align-items:center;background:#fff;border:none;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;justify-content:space-between;min-height:60px;padding:16px;text-align:left;transition:background .15s ease;width:100%}.mobile-slot:last-child{border-bottom:none}.mobile-slot:hover:not(.read-only){background:#f9fafb}.mobile-slot.selected{background:#eff6ff}.mobile-slot.read-only{cursor:default;opacity:.8}.mobile-slot-time{color:#111827;font-size:16px;font-weight:500}.mobile-slot-status{border-radius:12px;font-size:14px;font-weight:500;padding:4px 12px}.mobile-slot-status.available{background:#dbeafe;color:#3b82f6}.mobile-slot-status.unavailable{background:#f3f4f6;color:#6b7280}.schedule-legend.mobile{justify-content:center;margin-top:16px}@media (min-width:768px) and (max-width:1023px){.schedule-header,.schedule-row{grid-template-columns:80px repeat(7,1fr)}.day-header,.time-header{font-size:12px;padding:10px 4px}.time-label{font-size:11px;padding:6px}.time-slot{height:36px}}@media (max-width:767px){.schedule-grid-container{display:none}.schedule-mobile{display:block}}@media (min-width:768px){.schedule-mobile{display:none}}@media (prefers-contrast:high){.legend-box.selected,.time-slot.selected{background:#1e40af;border:2px solid #000}}@media (prefers-reduced-motion:reduce){.day-tab,.mobile-slot,.time-slot{transition:none}}.time-slot:focus-visible{outline:3px solid #3b82f6;outline-offset:-3px}.deprecation-banner{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem;position:relative}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.deprecation-banner-icon{flex-shrink:0;font-size:2rem;line-height:1}.deprecation-banner-content{flex:1 1}.deprecation-banner-title{color:#92400e;font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.deprecation-banner-message{color:#78350f;font-size:1rem;line-height:1.5;margin:0 0 1rem}.deprecation-banner-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.deprecation-banner-button{border:none;border-radius:.375rem;cursor:pointer;display:inline-block;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;text-decoration:none;transition:all .2s}.deprecation-banner-button.primary{background-color:#f59e0b;color:#fff}.deprecation-banner-button.primary:hover{background-color:#d97706;box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.deprecation-banner-button.primary:active{transform:translateY(0)}.deprecation-banner-link{border-bottom:2px solid #d97706;color:#92400e;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s}.deprecation-banner-link:hover{border-bottom-color:#b45309;color:#78350f}.deprecation-banner-close{background:#0000;border:none;border-radius:.25rem;color:#92400e;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;position:absolute;right:.75rem;top:.75rem;transition:all .2s}.deprecation-banner-close:hover{background-color:#0000001a;color:#78350f}.deprecation-banner-close:focus{outline:2px solid #f59e0b;outline-offset:2px}@media (max-width:768px){.deprecation-banner{flex-direction:column;gap:.75rem;padding:1rem}.deprecation-banner-icon{font-size:1.5rem}.deprecation-banner-title{font-size:1.125rem}.deprecation-banner-message{font-size:.875rem}.deprecation-banner-actions{align-items:stretch;flex-direction:column;gap:.75rem}.deprecation-banner-button{text-align:center;width:100%}.deprecation-banner-link{text-align:center}.deprecation-banner-close{right:.5rem;top:.5rem}}@media (prefers-contrast:high){.deprecation-banner{border-width:3px}.deprecation-banner-button.primary{border:2px solid #78350f}}@media (prefers-reduced-motion:reduce){.deprecation-banner{animation:none}.deprecation-banner-button:hover{transform:none}}@media print{.deprecation-banner{display:none}}.availability-page{background:#f9fafb;min-height:100vh;padding:24px 0}.availability-page .container{margin:0 auto;max-width:1200px;padding:0 16px}.page-header{margin-bottom:32px}.back-button{background:#fff;border:1px solid #e5e7eb;transition:all .2s ease}.back-button:hover{background:#f9fafb;border-color:#d1d5db}.page-header h1{font-size:32px;margin:0 0 12px}.term-badge{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;display:inline-flex;font-size:16px;font-weight:500;gap:8px;padding:8px 16px}.active-indicator{background:#10b981;border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:2px 8px}.instructions{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:16px}.instructions p{color:#374151;font-size:15px;line-height:1.6;margin:0 0 12px}.instructions p:last-child{margin-bottom:0}.help-text{background:#fffbeb;border-left:3px solid #f59e0b;color:#92400e;font-size:14px;padding:12px}.schedule-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.action-buttons{gap:12px;justify-content:flex-end;margin-bottom:16px}.btn{font-size:16px;padding:12px 24px}.btn-primary{background:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:active:not(:disabled){background:#1d4ed8}.btn-secondary{background:#fff}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.slot-count{background:#f9fafb;border-radius:6px;color:#6b7280;font-size:14px;padding:12px;text-align:center}.modal-overlay{background:#00000080;padding:16px}.modal-content{border-radius:12px}.modal-header{padding:24px}.modal-header h2{font-size:24px;font-weight:700}.modal-close:hover{color:#374151}.modal-body p{color:#374151;font-size:15px;line-height:1.6;margin:0 0 16px}.conflicts-list{display:flex;flex-direction:column;gap:12px;margin:20px 0}.conflict-item{background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:6px;padding:16px}.conflict-classroom{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.conflict-classroom strong{color:#991b1b;font-size:16px}.conflict-school{color:#7f1d1d;font-size:14px}.conflict-time{color:#991b1b;font-size:14px;font-weight:600;margin-bottom:4px}.conflict-reason{color:#7f1d1d;font-size:13px}.conflict-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:14px;font-weight:500;padding:16px}.modal-footer{padding:24px}@media (max-width:768px){.availability-page{padding:16px 0}.page-header h1{font-size:24px}.schedule-section{padding:16px}.action-buttons{flex-direction:column-reverse}.btn{width:100%}.modal-content{margin:16px}.modal-body,.modal-header{padding:16px}.modal-footer{flex-direction:column-reverse;padding:16px}.modal-footer .btn{width:100%}}@media print{.action-buttons,.back-button,.modal-overlay{display:none}.availability-page{background:#fff}.schedule-section{box-shadow:none}}.DayTabs_tabList__GtUos{-webkit-overflow-scrolling:touch;border-bottom:2px solid var(--color-gray-200);display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);overflow-x:auto}.DayTabs_tab__VDXL2{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:var(--color-gray-600);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);margin-bottom:-2px;padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-fast);white-space:nowrap}.DayTabs_tab__VDXL2:hover{background:var(--color-gray-50);color:var(--color-primary)}.DayTabs_tab__VDXL2:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.DayTabs_tabActive__N2bEu{border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.DayTabs_tabLabel__icqBk{font-size:var(--font-size-base)}.DayTabs_tabCount__n6il5{color:var(--color-gray-500);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.DayTabs_tabActive__N2bEu .DayTabs_tabCount__n6il5{color:var(--color-primary-dark)}@media (max-width:640px){.DayTabs_tab__VDXL2{padding:var(--spacing-sm) var(--spacing-md)}.DayTabs_tabLabel__icqBk{font-size:var(--font-size-sm)}.DayTabs_tabCount__n6il5{font-size:var(--font-size-xs)}}.DayTabs_tabList__GtUos::-webkit-scrollbar{height:4px}.DayTabs_tabList__GtUos::-webkit-scrollbar-track{background:var(--color-gray-100)}.DayTabs_tabList__GtUos::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-sm)}.DayTabs_tabList__GtUos::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.ClassroomCard_card__i5zFo{background:#fff;border:2px solid var(--color-gray-300);border-radius:var(--radius-lg);cursor:pointer;display:block;padding:var(--spacing-md);position:relative;transition:all var(--transition-fast)}.ClassroomCard_card__i5zFo:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ClassroomCard_card__i5zFo:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.ClassroomCard_cardSelected__UYokk{background:linear-gradient(135deg,#2196f30d,#2196f31a);border-color:var(--color-primary)}.ClassroomCard_checkbox__VqGZb{opacity:0;pointer-events:none;position:absolute}.ClassroomCard_content__PP\+CQ{padding-right:var(--spacing-xl)}.ClassroomCard_header__pNwKd{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.ClassroomCard_teacher__w\+esB{color:var(--color-gray-900);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.ClassroomCard_grade__WArTC{align-items:center;background:var(--color-gray-200);border-radius:var(--radius-sm);color:var(--color-gray-700);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm)}.ClassroomCard_details__9cBhw{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ClassroomCard_school__o\+1FN{color:var(--color-gray-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.ClassroomCard_address__cyMkb{color:var(--color-gray-600);font-size:var(--font-size-xs);line-height:1.4}.ClassroomCard_program__CkPsa{align-items:center;color:var(--color-secondary);display:flex;gap:var(--spacing-xs)}.ClassroomCard_program__CkPsa,.ClassroomCard_time__vCaPE{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.ClassroomCard_time__vCaPE{color:var(--color-primary)}.ClassroomCard_students__86mmV{color:var(--color-gray-600);font-size:var(--font-size-sm)}.ClassroomCard_interest__5sl-g{background:#4caf501a;border-radius:var(--radius-sm);color:var(--color-success);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);width:fit-content}.ClassroomCard_checkmark__GzPi6{align-items:center;background:#fff;border:2px solid var(--color-gray-400);border-radius:var(--radius-sm);display:flex;height:24px;justify-content:center;position:absolute;right:var(--spacing-md);top:var(--spacing-md);transition:all var(--transition-fast);width:24px}.ClassroomCard_cardSelected__UYokk .ClassroomCard_checkmark__GzPi6{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ClassroomCard_card__i5zFo:hover .ClassroomCard_checkmark__GzPi6{border-color:var(--color-primary);transform:scale(1.1)}@media (max-width:640px){.ClassroomCard_card__i5zFo{padding:var(--spacing-sm)}.ClassroomCard_teacher__w\+esB{font-size:var(--font-size-base)}.ClassroomCard_content__PP\+CQ{padding-right:var(--spacing-lg)}}.ClassroomGrid_grid__ItTI6{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr;margin-bottom:var(--spacing-lg)}.ClassroomGrid_empty__9U-Om{background:var(--color-gray-50);border-radius:var(--radius-md);color:var(--color-gray-500);font-size:var(--font-size-base);padding:var(--spacing-2xl);text-align:center}@media (min-width:640px){.ClassroomGrid_grid__ItTI6{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.ClassroomGrid_grid__ItTI6{grid-template-columns:repeat(3,1fr)}}@media (min-width:1280px){.ClassroomGrid_grid__ItTI6{grid-template-columns:repeat(4,1fr)}}.ClassroomGrid_grid__ItTI6>*{animation:ClassroomGrid_fadeIn__Ozc1g .3s ease-in-out}@keyframes ClassroomGrid_fadeIn__Ozc1g{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ClassroomPreferenceSelector_container__MU3WU{margin:0 auto;max-width:1200px;padding:var(--spacing-lg)}.ClassroomPreferenceSelector_header__LtF7c{margin-bottom:var(--spacing-xl)}.ClassroomPreferenceSelector_title__jvnu5{color:var(--color-gray-900);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.ClassroomPreferenceSelector_subtitle__STDqo{color:var(--color-gray-600);font-size:var(--font-size-base);margin-bottom:var(--spacing-md)}.ClassroomPreferenceSelector_travelHint__ZAbol{background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:3px solid #f59e0b;border-radius:var(--radius-sm);color:var(--color-gray-700);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);margin-top:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.ClassroomPreferenceSelector_travelHint__ZAbol strong{color:#92400e}.ClassroomPreferenceSelector_stats__Nx00x{align-items:center;display:flex;gap:var(--spacing-md)}.ClassroomPreferenceSelector_selectedCount__IX1sM{align-items:center;background:var(--color-primary-light);border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md)}.ClassroomPreferenceSelector_loading__C1Hap{color:var(--color-gray-600);font-size:var(--font-size-lg);padding:var(--spacing-2xl);text-align:center}.ClassroomPreferenceSelector_error__OwkA7{background:#fee;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin:var(--spacing-md) 0;padding:var(--spacing-md)}.ClassroomPreferenceSelector_actions__dUbFV{border-top:1px solid var(--color-gray-200);display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.ClassroomPreferenceSelector_clearButton__gnm5h{background:#0000;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);color:var(--color-gray-700);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-fast)}.ClassroomPreferenceSelector_clearButton__gnm5h:hover:not(:disabled){background:var(--color-gray-100);border-color:var(--color-gray-400)}.ClassroomPreferenceSelector_clearButton__gnm5h:disabled{cursor:not-allowed;opacity:.5}.ClassroomPreferenceSelector_saveButton__y7OgT{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-fast)}.ClassroomPreferenceSelector_saveButton__y7OgT:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ClassroomPreferenceSelector_saveButton__y7OgT:disabled{cursor:not-allowed;opacity:.5}@media (max-width:640px){.ClassroomPreferenceSelector_container__MU3WU{padding:var(--spacing-md)}.ClassroomPreferenceSelector_title__jvnu5{font-size:var(--font-size-xl)}.ClassroomPreferenceSelector_actions__dUbFV{flex-direction:column}.ClassroomPreferenceSelector_clearButton__gnm5h,.ClassroomPreferenceSelector_saveButton__y7OgT{width:100%}}.preferences-page{background-color:#f9fafb;min-height:100vh;padding:40px 20px}.preferences-header{margin:0 auto 32px;max-width:1200px}.btn-back{color:#6b7280;font-size:16px;margin-bottom:16px;padding:8px 0;transition:color .2s}.btn-back:hover{color:#111827}.preferences-header h1{color:#111827;font-size:32px;font-weight:700;margin:0 0 8px}.term-info{font-size:16px;margin:0}.preferences-content{margin:0 auto;max-width:1200px}.loading{font-size:18px;padding:40px}.error-container{border-radius:12px;box-shadow:0 1px 3px #0000001a;margin:0 auto;max-width:600px;padding:40px}.error-container h2{color:#dc2626;margin:0 0 16px}.error-container p{margin:0 0 24px}.btn{border-radius:8px;font-size:14px;font-weight:600;padding:10px 24px}.btn-secondary:hover{background-color:#4b5563;transform:translateY(-1px)}.info-banners{display:flex;flex-direction:column;gap:12px;margin:0 auto 24px;max-width:1200px}.info-banner{align-items:center;background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:12px;padding:16px 20px;transition:all .2s}.info-banner:hover{box-shadow:0 2px 6px #00000026;transform:translateX(4px)}.info-banner-blue{background:linear-gradient(90deg,#eff6ff,#fff);border-left-color:#3b82f6}.info-banner-green{background:linear-gradient(90deg,#f0fdf4,#fff);border-left-color:#10b981}.banner-icon{flex-shrink:0;font-size:24px}.banner-text{color:#374151;flex:1 1;font-size:16px}.banner-link{background:none;border:none;color:#2563eb;cursor:pointer;font-size:16px;font-weight:600;padding:0;text-decoration:underline;transition:color .2s}.banner-link:hover{color:#1d4ed8}.info-banner-green .banner-link{color:#059669}.info-banner-green .banner-link:hover{color:#047857}@media (max-width:768px){.preferences-page{padding:24px 16px}.preferences-header h1{font-size:24px}.term-info{font-size:14px}.info-banners{margin-bottom:20px}.info-banner{padding:12px 16px}.banner-icon{font-size:20px}.banner-link,.banner-text{font-size:14px}}.RoleBadge_badge__OzA-X{align-items:center;border-radius:var(--radius-md);display:inline-flex;font-weight:var(--font-weight-medium);justify-content:center;position:relative;transition:all var(--transition-fast)}.RoleBadge_badge-small__Ju0VP{font-size:var(--font-size-xs);min-width:50px;padding:var(--spacing-xs) var(--spacing-sm)}.RoleBadge_badge-medium__MxbBH{font-size:var(--font-size-sm);min-width:80px;padding:var(--spacing-sm) var(--spacing-md)}.RoleBadge_badge-large__VyUOL{font-size:var(--font-size-base);min-width:100px;padding:var(--spacing-md) var(--spacing-lg)}.RoleBadge_driver__hpizE{background-color:var(--color-driver);background-image:repeating-linear-gradient(45deg,#0000,#0000 8px,#ffffff26 0,#ffffff26 10px);color:#fff}.RoleBadge_kinstructor__Pq9qE{background-color:var(--color-kinstructor);background-image:repeating-linear-gradient(90deg,#0000,#0000 4px,#ffffff26 0,#ffffff26 8px);color:#fff}.RoleBadge_lead-kinstructor__ZPe4W{background-color:var(--color-lead);background-image:repeating-linear-gradient(135deg,#0000,#0000 6px,#ffffff26 0,#ffffff26 9px);color:#fff}.RoleBadge_previous-lead__EY8SR{background-color:#9b59b6;background-image:repeating-linear-gradient(45deg,#0000,#0000 5px,#fff3 0,#fff3 10px);color:#fff}.RoleBadge_split__Vm9Ge{min-width:100px;overflow:hidden;padding:0}.RoleBadge_splitLeft__JYlz6,.RoleBadge_splitRight__Sfksh{flex:1 1;padding:var(--spacing-sm) var(--spacing-md);text-align:center}.RoleBadge_splitLeft__JYlz6{clip-path:polygon(0 0,85% 0,100% 50%,85% 100%,0 100%);padding-right:var(--spacing-lg)}.RoleBadge_splitRight__Sfksh{clip-path:polygon(15% 0,100% 0,100% 100%,15% 100%,0 50%);margin-left:-8px;padding-left:var(--spacing-lg)}.RoleBadge_stacked__YtA-B{background:linear-gradient(135deg,var(--color-driver) 0,var(--color-driver) 33%,var(--color-kinstructor) 33%,var(--color-kinstructor) 66%,var(--color-lead) 66%,var(--color-lead) 100%);color:#fff;padding:var(--spacing-sm) var(--spacing-md)}.RoleBadge_stackedIndicator__kJs9-{border:2px solid #fff;border-radius:50%;height:8px;left:2px;position:absolute;top:2px;width:8px}.RoleBadge_stackedIndicator__kJs9-:nth-child(2){left:12px}.RoleBadge_stackedIndicator__kJs9-:nth-child(3){left:22px}.RoleBadge_label__6jMhF{position:relative;text-shadow:0 1px 2px #0003;z-index:10}.RoleBadge_badge__OzA-X:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}@media (prefers-contrast:high){.RoleBadge_badge__OzA-X{border:2px solid}}@media print{.RoleBadge_badge__OzA-X{border:1px solid #000;box-shadow:none}}.AssignmentCard_card__qCr42{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;transition:all .2s}.AssignmentCard_card__qCr42:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.AssignmentCard_header__s0vsh{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.AssignmentCard_headerLeft__40Kbk{flex:1 1}.AssignmentCard_teacher__kK-oO{color:#111827;font-size:20px;font-weight:600;margin:0 0 4px}.AssignmentCard_school__YLwOU{color:#6b7280;font-size:14px;margin:0}.AssignmentCard_address__3srVQ{color:#9ca3af;font-size:12px;line-height:1.4;margin:4px 0 0}.AssignmentCard_headerRight__V4PdI{flex-shrink:0}.AssignmentCard_statusBadge__O9kTL{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.AssignmentCard_statusConfirmed__i5lni{background-color:#d1fae5;color:#065f46}.AssignmentCard_statusPending__PZZfI{background-color:#fef3c7;color:#92400e}.AssignmentCard_statusCancelled__2M6lJ{background-color:#fee2e2;color:#991b1b}.AssignmentCard_body__VDIAr{border-top:1px solid #e5e7eb;padding-top:20px}.AssignmentCard_infoGrid__8lx\+9{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px}.AssignmentCard_infoItem__dZc8Z{display:flex;flex-direction:column;gap:4px}.AssignmentCard_label__vwKRD{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.AssignmentCard_value__YxhBb{color:#111827;font-size:14px;font-weight:500}.AssignmentCard_notes__Zs2xc{background-color:#f9fafb;border-radius:8px;margin-top:16px;padding:12px}.AssignmentCard_notesText__Ejjg5{color:#374151;font-size:14px;line-height:1.5;margin:4px 0 0}.AssignmentCard_footer__0AELf{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:16px}.AssignmentCard_leadInfo__yLOkh{align-items:center;display:flex;gap:8px}.AssignmentCard_leadLabel__C14ct{color:#6b7280;font-size:13px;font-weight:600}.AssignmentCard_leadName__kAiia{color:#111827;font-size:14px;font-weight:500}@media (max-width:640px){.AssignmentCard_card__qCr42{padding:16px}.AssignmentCard_header__s0vsh{flex-direction:column;gap:12px}.AssignmentCard_teacher__kK-oO{font-size:18px}.AssignmentCard_infoGrid__8lx\+9{gap:12px;grid-template-columns:repeat(2,1fr)}}.assignments-page{margin:0 auto;max-width:1200px;padding:2rem}.assignments-header{margin-bottom:2rem}.assignments-header h1{color:#1f2937;color:var(--color-text-primary,#1f2937);font-size:2rem;font-weight:700;margin-bottom:.5rem}.term-info{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:1rem}.term-info strong{color:#1f2937;color:var(--color-text-primary,#1f2937);font-weight:600}.assignments-stats{display:flex;justify-content:center;margin-bottom:2rem}.stat-card{border:1px solid var(--color-border,#e5e7eb);box-shadow:0 1px 3px #0000001a;text-align:center}.stat-card-single{min-width:200px}.stat-number{font-size:2.5rem;margin-bottom:.5rem}.stat-label{font-size:.875rem}.assignments-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.filter-btn{background:#fff;border:2px solid #e5e7eb;border:2px solid var(--color-border,#e5e7eb);border-radius:6px;color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.875rem;font-weight:500;transition:all .2s ease}.filter-btn:hover{color:#2563eb;color:var(--color-primary,#2563eb)}.filter-btn.active,.filter-btn:hover{border-color:#2563eb;border-color:var(--color-primary,#2563eb)}.filter-btn.active{background:#2563eb;background:var(--color-primary,#2563eb);color:#fff}.role-badge-legend{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.role-badge-legend h3{color:#1f2937;color:var(--color-text-primary,#1f2937);font-size:1rem;font-weight:600;margin-bottom:1rem}.legend-items{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.legend-item{gap:.75rem}.legend-description{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.875rem}.assignments-content{min-height:300px}.day-section{margin-bottom:3rem}.day-heading{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--color-border,#e5e7eb);color:#1f2937;color:var(--color-text-primary,#1f2937);font-size:1.5rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem}.assignments-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.loading{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:1.125rem}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;margin:2rem 0;padding:1rem;text-align:center}.error-container{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;margin:2rem 0;padding:3rem;text-align:center}.error-container h2{color:#1f2937;color:var(--color-text-primary,#1f2937);font-size:1.5rem;font-weight:700;margin-bottom:1rem}.error-container p{color:#6b7280;color:var(--color-text-secondary,#6b7280);margin-bottom:1.5rem}.empty-state{background:#fff;border:2px dashed #e5e7eb;border:2px dashed var(--color-border,#e5e7eb)}.empty-state h3{font-weight:700}.btn{transition:all .2s ease}.btn-secondary{background:#e5e7eb;background:var(--color-border,#e5e7eb);color:#1f2937;color:var(--color-text-primary,#1f2937)}.btn-secondary:hover{background:#d1d5db}@media (max-width:768px){.assignments-page{padding:1rem}.assignments-header h1{font-size:1.5rem}.assignments-stats{grid-template-columns:repeat(3,1fr)}.stat-number{font-size:2rem}.assignments-grid{grid-template-columns:1fr}.day-heading{font-size:1.25rem}.legend-items{grid-template-columns:1fr}}@media (max-width:480px){.assignments-stats{grid-template-columns:1fr}.assignments-filters{flex-direction:column}.filter-btn{width:100%}.legend-item{align-items:flex-start;flex-direction:column;gap:.5rem}}.interested-volunteers-list{width:100%}.interested-volunteers-list.empty{padding:2rem}.volunteers-header{background:#f9fafb;background:var(--color-background-secondary,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border,#e5e7eb);border-radius:6px 6px 0 0;padding:.75rem 1rem}.volunteers-header h4{color:#1f2937;color:var(--color-text-primary,#1f2937);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.volunteers-rows{display:flex;flex-direction:column}.volunteer-row{align-items:flex-start;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border,#e5e7eb);display:flex;gap:1rem;padding:1rem;transition:background-color .2s ease}.volunteer-row:last-child{border-bottom:none}.volunteer-row:hover:not(.disabled){background-color:#f9fafb;background-color:var(--color-background-hover,#f9fafb)}.volunteer-row.has-conflict{background-color:#fef2f2;border-left:3px solid #ef4444;border-left:3px solid var(--color-error,#ef4444)}.volunteer-row.disabled{cursor:not-allowed;opacity:.6}.volunteer-checkbox{flex-shrink:0;padding-top:.25rem}.volunteer-checkbox input[type=checkbox]{accent-color:#2563eb;accent-color:var(--color-primary,#2563eb);cursor:pointer;height:18px;width:18px}.volunteer-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.volunteer-checkbox input[type=checkbox].conflict-checkbox{accent-color:#ef4444;accent-color:var(--color-error,#ef4444)}.volunteer-info{display:flex;flex-direction:column;gap:.5rem}.volunteer-header{align-items:center;flex-wrap:wrap;gap:.75rem}.volunteer-name{color:#1f2937;color:var(--color-text-primary,#1f2937);cursor:pointer;font-size:1rem;font-weight:600;transition:color .2s ease}.volunteer-name:hover{color:#2563eb;color:var(--color-primary,#2563eb)}.volunteer-row.disabled .volunteer-name{cursor:not-allowed}.volunteer-row.disabled .volunteer-name:hover{color:#1f2937;color:var(--color-text-primary,#1f2937)}.volunteer-details{align-items:center;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.25rem}.volunteer-details,.volunteer-email{color:#6b7280;color:var(--color-text-secondary,#6b7280)}.volunteer-meta,.volunteer-phone,.volunteer-year{color:#9ca3af;color:var(--color-text-tertiary,#9ca3af)}.volunteer-meta{align-items:center;display:flex;font-size:.75rem;gap:.5rem}.interested-date{font-style:italic}.conflict-warning{align-items:flex-start;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;display:flex;gap:.5rem;margin-top:.5rem;padding:.75rem}.conflict-icon{flex-shrink:0;font-size:1rem;line-height:1}.conflict-text{color:#991b1b;font-size:.875rem;line-height:1.5}.conflict-text strong{font-weight:600}.assigning-indicator{align-items:center;background-color:#eff6ff;background-color:var(--color-background-info,#eff6ff);border:1px solid #bfdbfe;border:1px solid var(--color-border-info,#bfdbfe);border-radius:6px;color:#1e40af;color:var(--color-info,#1e40af);display:flex;font-size:.875rem;gap:.5rem;margin-top:.5rem;padding:.5rem}.spinner{animation:spin .8s linear infinite;border:2px solid #bfdbfe;border-top-color:#1e40af;border:2px solid var(--color-border-info,#bfdbfe);border-top-color:var(--color-info,#1e40af)}.empty-state{flex-direction:column}.empty-icon,.empty-state{align-items:center;display:flex;justify-content:center}.empty-icon{font-size:3rem;max-height:100px;max-width:100px}.empty-icon img,.empty-icon svg{max-height:100%;max-width:100%;object-fit:contain}.empty-state p{font-size:.875rem}@media (max-width:640px){.volunteer-row{flex-direction:column;gap:.75rem}.volunteer-checkbox{padding-top:0}.volunteer-header{gap:.5rem}.volunteer-details,.volunteer-header{align-items:flex-start;flex-direction:column}.volunteer-details{gap:.25rem}.volunteer-phone:before,.volunteer-year:before{content:"";display:none}}.classroom-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.classroom-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.classroom-header{background:linear-gradient(135deg,#f9fafb,#fff)}.classroom-title-section{margin-bottom:1rem}.school-info{align-items:flex-start;display:flex;gap:.5rem;margin-bottom:.5rem}.school-icon{font-size:1.25rem;margin-top:.125rem}.school-details{flex:1 1}.school-name{color:#1f2937;color:var(--color-text-primary,#1f2937);font-size:1.125rem;font-weight:700;margin:0 0 .25rem}.school-address{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.8125rem;line-height:1.4;margin:0}.teacher-info{align-items:center;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.5rem}.teacher-label{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-weight:500}.teacher-name{color:#1f2937;color:var(--color-text-primary,#1f2937);font-weight:600}.grade-badge{background-color:#f3f4f6;background-color:var(--color-background-secondary,#f3f4f6);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:12px;color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.75rem;font-weight:500;padding:.125rem .5rem}.classroom-schedule{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.day-badge{border-radius:6px;color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.025em;padding:.375rem .75rem;text-transform:uppercase}.time-info{align-items:center;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem}.time{color:#1f2937;color:var(--color-text-primary,#1f2937);font-weight:600}.students-count{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.813rem}.card-divider{background-color:#e5e7eb;background-color:var(--color-border,#e5e7eb);height:1px}.classroom-summary{align-items:center;background-color:#f9fafb;background-color:var(--color-background-secondary,#f9fafb);display:flex;gap:2rem;padding:1rem 1.5rem}.summary-stat{align-items:center;display:flex;flex-direction:column;gap:.25rem}.stat-number{color:#2563eb;color:var(--color-primary,#2563eb)}.stat-label{color:var(--color-text-secondary,#6b7280)}.toggle-volunteers-btn{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:6px;color:#6b7280;color:var(--color-text-secondary,#6b7280);cursor:pointer;font-size:.813rem;font-weight:500;margin-left:auto;padding:.375rem .75rem;transition:all .2s ease}.toggle-volunteers-btn:hover{background-color:#f3f4f6;background-color:var(--color-background-hover,#f3f4f6);border-color:#d1d5db;border-color:var(--color-border-hover,#d1d5db);color:#1f2937;color:var(--color-text-primary,#1f2937)}.assigned-volunteers-section{padding:1rem 1.5rem}.section-title{color:var(--color-text-primary,#1f2937);font-size:.875rem;letter-spacing:.05em;margin:0 0 .75rem;text-transform:uppercase}.assigned-volunteers-list{display:flex;flex-wrap:wrap;gap:.5rem}.assigned-volunteer-chip{align-items:center;background-color:#d1fae5;background-color:var(--color-success-light,#d1fae5);border:1px solid #10b981;border:1px solid var(--color-success,#10b981);border-radius:20px;display:inline-flex;font-size:.875rem;gap:.5rem;padding:.5rem .75rem}.assigned-name{color:#065f46;color:var(--color-success-dark,#065f46);font-weight:600}.unassign-btn{align-items:center;background-color:initial;border:none;border-radius:50%;color:#dc2626;color:var(--color-error,#dc2626);cursor:pointer;display:flex;font-size:1.25rem;height:1.25rem;justify-content:center;line-height:1;margin:0;padding:0;transition:all .2s ease;width:1.25rem}.unassign-btn:hover{background-color:#fee2e2;background-color:var(--color-error-light,#fee2e2);transform:scale(1.1)}.unassign-btn:active{transform:scale(.95)}.assigned-checkmark{color:#10b981;color:var(--color-success,#10b981);font-size:.875rem}.classroom-footer{background-color:#f9fafb;background-color:var(--color-background-secondary,#f9fafb);padding:1rem 1.5rem}.view-details-btn{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:6px;color:#2563eb;color:var(--color-primary,#2563eb);cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1rem;text-align:center;transition:all .2s ease;width:100%}.view-details-btn:hover{background-color:#2563eb;background-color:var(--color-primary,#2563eb);border-color:#2563eb;border-color:var(--color-primary,#2563eb);color:#fff}@media (max-width:768px){.classroom-header{padding:1rem}.classroom-schedule{align-items:flex-start;flex-direction:column;gap:.5rem}.classroom-summary{flex-wrap:wrap;gap:1rem;padding:1rem}.toggle-volunteers-btn{margin-left:0;width:100%}.assigned-volunteers-section,.classroom-footer{padding:1rem}}@media (max-width:480px){.school-name{font-size:1rem}.teacher-info,.time-info{align-items:flex-start;flex-direction:column;gap:.25rem}.assigned-volunteers-list{flex-direction:column}.assigned-volunteer-chip{justify-content:space-between;width:100%}}.volunteers-loading{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.875rem;padding:2rem;text-align:center}.assignment-cards-page{margin:0 auto;max-width:1400px;padding:2rem}.btn-back{align-items:center;background:none;border:none;color:#2563eb;color:var(--color-primary,#2563eb);cursor:pointer;display:inline-flex;font-size:1rem;gap:.5rem;margin-bottom:1rem;padding:.5rem 0;transition:color .2s ease}.btn-back:hover{color:#1e40af;color:var(--color-primary-dark,#1e40af);text-decoration:underline}.page-header h1{color:#1f2937;color:var(--color-text-primary,#1f2937);margin-bottom:.5rem}.page-description{color:var(--color-text-secondary,#6b7280);line-height:1.5}.page-description strong{color:#1f2937;color:var(--color-text-primary,#1f2937);font-weight:600}.assignment-cards-page .summary-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:2rem}.assignment-cards-page .stat-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;text-align:center}.assignment-cards-page .stat-number{color:#2563eb;color:var(--color-primary,#2563eb);font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:.5rem}.assignment-cards-page .stat-label{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.assignment-cards-page .role-badge-legend{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.assignment-cards-page .role-badge-legend h3{color:#1f2937;color:var(--color-text-primary,#1f2937);font-size:1rem;font-weight:600;margin-bottom:1rem}.assignment-cards-page .legend-items{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.assignment-cards-page .legend-item{align-items:center;display:flex;gap:.75rem}.assignment-cards-page .legend-description{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.875rem}.assignment-cards-page .filters-section{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.assignment-cards-page .filter-group{display:flex;flex-direction:column}.assignment-cards-page .filters-section .filter-group+.filter-group{display:inline-flex;flex:1 1;flex-direction:column;min-width:0}.assignment-cards-page .filters-section>:not(:first-child){display:inline-flex;flex:1 1;flex-direction:column;vertical-align:top}.assignment-cards-page .filters-section{grid-gap:1.5rem;display:grid;grid-template-columns:1fr}.assignment-cards-page .filters-section>.filter-group:nth-child(n+2){grid-column:auto}.assignment-cards-page .filters-section{display:flex;flex-direction:column;gap:1.5rem}.assignment-cards-page .filters-section>.filter-group:first-child{width:100%}.assignment-cards-page .filters-section>.filter-group:nth-child(2),.assignment-cards-page .filters-section>.filter-group:nth-child(3){flex:1 1;min-width:0}@supports (display:grid){.assignment-cards-page .filters-section{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.assignment-cards-page .filters-section>.filter-group:first-child{grid-column:1/-1}}.assignment-cards-page .filter-label{color:#1f2937;color:var(--color-text-primary,#1f2937);display:block;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.assignment-cards-page .day-filters{display:flex;flex-wrap:wrap;gap:.5rem}@media (max-width:768px){.assignment-cards-page .filters-section{grid-template-columns:1fr}.assignment-cards-page .filters-section>.filter-group:first-child{grid-column:1}}.assignment-cards-page .day-filter-btn{background:#fff;border:2px solid #e5e7eb;border:2px solid var(--color-border,#e5e7eb);border-radius:6px;color:#6b7280;color:var(--color-text-secondary,#6b7280);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.assignment-cards-page .day-filter-btn:hover{border-color:#2563eb;border-color:var(--color-primary,#2563eb);color:#2563eb;color:var(--color-primary,#2563eb)}.assignment-cards-page .day-filter-btn.active{background-color:#2563eb;background-color:var(--color-primary,#2563eb);border-color:#2563eb;border-color:var(--color-primary,#2563eb);color:#fff}.assignment-cards-page .school-filter-select{background:#fff;border:2px solid #e5e7eb;border:2px solid var(--color-border,#e5e7eb);border-radius:6px;color:#1f2937;color:var(--color-text-primary,#1f2937);cursor:pointer;font-size:.875rem;max-width:400px;padding:.625rem 1rem;transition:border-color .2s ease;width:100%}.assignment-cards-page .school-filter-select:focus,.assignment-cards-page .school-filter-select:hover{border-color:#2563eb;border-color:var(--color-primary,#2563eb);outline:none}.assignment-cards-page .classrooms-content{min-height:400px}.assignment-cards-page .classrooms-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-bottom:2rem}.assignment-cards-page .loading{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:1rem;padding:3rem;text-align:center}.assignment-cards-page .error-message{background-color:#fef2f2;background-color:var(--color-error-light,#fef2f2);border:1px solid #ef4444;border:1px solid var(--color-error,#ef4444);border-radius:6px;color:#991b1b;color:var(--color-error-dark,#991b1b);padding:1rem;text-align:center}.assignment-cards-page .error-container{padding:3rem;text-align:center}.assignment-cards-page .error-container h2{color:#1f2937;color:var(--color-text-primary,#1f2937);font-size:1.5rem;margin-bottom:1rem}.assignment-cards-page .error-container p{color:#6b7280;color:var(--color-text-secondary,#6b7280);margin-bottom:1.5rem}.assignment-cards-page .empty-state{padding:3rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:#1f2937;color:var(--color-text-primary,#1f2937);font-weight:600}.empty-state p{color:#6b7280;color:var(--color-text-secondary,#6b7280)}.pagination{justify-content:center;margin-top:2rem;padding:1rem}.pagination-btn{border:2px solid #e5e7eb;border:2px solid var(--color-border,#e5e7eb);color:#1f2937;color:var(--color-text-primary,#1f2937);font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background-color:#2563eb;background-color:var(--color-primary,#2563eb);border-color:#2563eb;border-color:var(--color-primary,#2563eb);color:#fff}.pagination-btn:disabled{opacity:.4}.pagination-info{color:var(--color-text-secondary,#6b7280);font-size:.875rem}@media (max-width:1024px){.classrooms-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}@media (max-width:768px){.assignment-cards-page{padding:1rem}.page-header h1{font-size:1.5rem}.summary-stats{grid-template-columns:repeat(2,1fr)}.classrooms-grid{grid-template-columns:1fr}.day-filters{justify-content:center}.pagination{flex-direction:column;gap:.75rem}.pagination-info{order:-1}}@media (max-width:480px){.page-header h1{font-size:1.25rem}.page-description{font-size:.875rem}.summary-stats{grid-template-columns:1fr}.day-filter-btn{flex:1 1;min-width:80px}.school-filter-select{max-width:100%}}.calendar-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem}.calendar-header-left{align-items:center;display:flex;gap:1.5rem}.calendar-title{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.calendar-week-label{color:#6b7280;font-size:1rem;font-weight:500}.calendar-header-right{align-items:center;display:flex;gap:1rem}.calendar-nav-buttons{align-items:center;background:#f9fafb;border-radius:.375rem;display:flex;gap:.5rem;padding:.25rem}.calendar-nav-btn,.calendar-today-btn{background:#fff;border:1px solid #d1d5db;border-radius:.25rem;color:#374151;cursor:pointer;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.calendar-nav-btn{font-size:1.5rem;line-height:1;padding:.25rem .75rem}.calendar-nav-btn:hover,.calendar-today-btn:hover{background-color:#f3f4f6;border-color:#9ca3af}.calendar-nav-btn:active,.calendar-today-btn:active{transform:scale(.95)}.calendar-add-btn{background-color:#667eea;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s}.calendar-add-btn:hover{background-color:#5568d3}.calendar-add-btn:active{transform:scale(.95)}@media (max-width:768px){.calendar-header{align-items:stretch;flex-direction:column;padding:.75rem;position:relative;user-select:none;-webkit-user-select:none}.calendar-header:after{color:#9ca3af;content:"← Swipe to navigate →";display:block;font-size:.75rem;font-weight:400;margin-top:.5rem;opacity:.7;text-align:center}.calendar-header-left{align-items:center;flex-direction:column;gap:.25rem;text-align:center}.calendar-title{font-size:1.25rem;font-weight:700}.calendar-week-label{font-size:.875rem;font-weight:500}.calendar-header-right{flex-direction:row;gap:.5rem;justify-content:space-between}.calendar-nav-buttons{flex:1 1;justify-content:center;min-width:0}.calendar-nav-btn,.calendar-today-btn{font-size:.875rem;font-weight:600;min-height:44px;padding:.625rem .75rem}.calendar-add-btn{flex:1 1;font-weight:600;min-height:44px}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{appearance:button;cursor:pointer;overflow:visible;text-transform:none}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;height:100%}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar :after,.rbc-calendar :before{box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}.rbc-ellipsis,.rbc-event-label,.rbc-row-segment .rbc-event-content,.rbc-show-more{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{border-bottom:1px solid #ddd;flex:1 0;font-size:90%;font-weight:700;min-height:0;overflow:hidden;padding:0 3px;text-align:center;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{background:none;border:none;color:inherit;cursor:pointer;margin:0;padding:0;-webkit-user-select:text;user-select:text}.rbc-row-content{position:relative;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:flex;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{-ms-overflow-style:none;height:100%;overflow-y:scroll;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{align-items:center;display:flex;flex-wrap:wrap;font-size:16px;justify-content:center;margin-bottom:10px}.rbc-toolbar .rbc-toolbar-label{flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{background:none;background-image:none;border:1px solid #ccc;border-radius:4px;color:#373a3c;display:inline-block;line-height:normal;margin:0;padding:.375rem 1rem;text-align:center;vertical-align:middle;white-space:nowrap}.rbc-toolbar button.rbc-active,.rbc-toolbar button:active{background-color:#e6e6e6;background-image:none;border-color:#adadad;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.rbc-toolbar button.rbc-active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button:active:hover{background-color:#d4d4d4;border-color:#8c8c8c;color:#373a3c}.rbc-toolbar button:focus,.rbc-toolbar button:hover{background-color:#e6e6e6;border-color:#adadad;color:#373a3c}.rbc-toolbar button:hover{cursor:pointer}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (max-width:767px){.rbc-toolbar{flex-direction:column}}.rbc-day-slot .rbc-background-event,.rbc-event{background-color:#3174ad;border:none;border-radius:5px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;margin:0;padding:2px 5px;text-align:left;width:100%}.rbc-day-slot .rbc-slot-selecting .rbc-background-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-slot-selecting .rbc-event{cursor:inherit;pointer-events:none}.rbc-day-slot .rbc-selected.rbc-background-event,.rbc-event.rbc-selected{background-color:#265985}.rbc-day-slot .rbc-background-event:focus,.rbc-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{box-shadow:-1px 1px 5px 0 #33333380}.rbc-event-continues-prior{border-bottom-left-radius:0;border-top-left-radius:0}.rbc-event-continues-after{border-bottom-right-radius:0;border-top-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:flex;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;color:#3174ad;font-size:85%;font-weight:700;height:auto;line-height:normal;z-index:4}.rbc-show-more:focus,.rbc-show-more:hover{color:#265985}.rbc-month-view{border:1px solid #ddd;display:flex;flex:1 0;flex-direction:column;height:100%;position:relative;user-select:none;-webkit-user-select:none;width:100%}.rbc-month-header{display:flex;flex-direction:row}.rbc-month-row{display:flex;flex:1 0;flex-basis:0px;flex-direction:column;height:100%;overflow:hidden;position:relative}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{flex:1 1;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:flex;flex:1 0;flex-direction:row;overflow:hidden;right:1px}.rbc-day-bg{flex:1 0}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{background-color:#fff;border:1px solid #e5e5e5;box-shadow:0 5px 15px #00000040;padding:10px;position:absolute;z-index:5}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:flex;flex:1 0;flex-direction:column;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{border:1px solid #ddd;border-collapse:collapse;border-spacing:0;width:100%}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{border-bottom:1px solid #ddd;padding:3px 5px;text-align:left}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:flex;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{flex:1 1}.rbc-timeslot-group{border-bottom:1px solid #ddd;display:flex;flex-flow:column nowrap;min-height:40px}.rbc-header-gutter,.rbc-time-gutter{flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{bottom:0;left:0;margin-right:10px;position:absolute;right:0;top:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-event{align-items:flex-start;border:1px solid #265985;display:flex;flex-flow:column wrap;max-height:100%;min-height:20px;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{word-wrap:break-word;flex:1 1;height:100%;line-height:1;min-height:1em;width:100%}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{background-color:#fff;border-right:1px solid #ddd;left:0;margin-right:-1px;position:sticky;z-index:10}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{flex:1 0;flex-basis:0px;min-width:auto}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-day-bg,.rbc-time-view-resources .rbc-header{flex:1 1;flex-basis:0 px;width:140px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{flex:1 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{background-color:#00000080;color:#fff;font-size:75%;padding:3px;position:absolute;width:100%;z-index:10}.rbc-slot-selecting{cursor:move}.rbc-time-view{border:1px solid #ddd;display:flex;flex:1 1;flex-direction:column;min-height:0;width:100%}.rbc-time-view .rbc-time-gutter{text-align:right;white-space:nowrap}.rbc-time-view .rbc-allday-cell{box-sizing:initial;height:100%;position:relative;width:100%}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{box-sizing:border-box;min-height:20px}.rbc-time-header{display:flex;flex:0 0 auto;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-left:1px solid #ddd;border-right-width:0}.rbc-time-header>.rbc-row.rbc-row-resource,.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{border-left:1px solid #ddd;display:flex;flex:1 1;flex-direction:column;min-width:0}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;flex-shrink:0}.rbc-time-content{align-items:flex-start;border-top:2px solid #ddd;display:flex;flex:1 0;overflow-y:auto;position:relative;width:100%}.rbc-time-content>.rbc-time-gutter{flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{user-select:none;-webkit-user-select:none;width:100%}.rbc-current-time-indicator{background-color:#74ad31;height:1px;left:0;pointer-events:none;position:absolute;right:0;z-index:3}.rbc-resource-grouping.rbc-time-header-content{display:flex;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.chapter-calendar-container{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px 0 #0000001a;padding:1rem}.rbc-calendar{font-family:inherit}.rbc-header{background-color:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:.75rem .5rem;text-transform:uppercase}.rbc-time-header-content{border-left:1px solid #e5e7eb}.rbc-time-content{border-top:1px solid #e5e7eb}.rbc-time-slot{min-height:40px}.rbc-timeslot-group{border-bottom:1px solid #f3f4f6;min-height:80px}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f3f4f6}.rbc-current-time-indicator{background-color:#ef4444;height:2px}.rbc-event{cursor:pointer;padding:4px 6px;transition:opacity .2s}.rbc-event:hover{opacity:1!important}.rbc-event.rbc-selected{background-color:inherit;box-shadow:0 0 0 2px #fff,0 0 0 4px currentColor;opacity:1!important}.calendar-event-content{overflow:hidden;text-overflow:ellipsis}.calendar-event-title{font-size:.875rem;font-weight:600;line-height:1.2;margin-bottom:2px}.calendar-event-school{font-size:.75rem;line-height:1.2;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-label,.rbc-time-header-gutter{color:#6b7280;font-size:.75rem}.rbc-label{padding:0 .5rem}.rbc-today{background-color:#fef3c7}.rbc-off-range-bg{background-color:#f9fafb}.rbc-slot-selection{background-color:#667eea33;border:1px solid #667eea}.chapter-calendar-container.mobile-view{padding:0}.chapter-calendar-container.mobile-view .rbc-calendar{width:100%}@media (max-width:768px){.chapter-calendar-container{-webkit-overflow-scrolling:touch;padding:.5rem;touch-action:pan-y}.chapter-calendar-container.mobile-view{overflow-x:hidden;padding:.25rem}.chapter-calendar-container.mobile-view .rbc-calendar{min-width:auto}.rbc-header{font-size:.875rem;font-weight:700;padding:.75rem .5rem}.rbc-time-slot{min-height:40px}.rbc-timeslot-group{min-height:80px}.rbc-event{cursor:pointer;min-height:36px;padding:6px 8px}.calendar-event-title{font-size:.875rem;font-weight:600}.calendar-event-school{font-size:.75rem;margin-top:2px}.rbc-label,.rbc-time-header-gutter{font-size:.875rem;font-weight:600}.rbc-slot-selection{background-color:#667eea4d;border:2px solid #667eea}.rbc-current-time-indicator{background-color:#ef4444;height:3px}}.teacher-selector{margin-bottom:1rem}.teacher-selector label{color:#374151;display:block;font-weight:500;margin-bottom:.5rem}.teacher-selector .required{color:#dc2626}.teacher-selector-input-wrapper{position:relative}.teacher-selector-input{border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;padding:.75rem;transition:border-color .2s,box-shadow .2s;width:100%}.teacher-selector-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.teacher-selector-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;left:0;margin-top:.25rem;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.teacher-selector-option{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:.75rem;transition:background-color .2s}.teacher-selector-option:last-child{border-bottom:none}.teacher-selector-option:focus,.teacher-selector-option:hover{background-color:#f9fafb;outline:none}.teacher-selector-option.selected{background-color:#ede9fe}.teacher-name{color:#111827;font-weight:500;margin-bottom:.25rem}.classroom-details,.teacher-selector-empty{color:#6b7280;font-size:.875rem}.teacher-selector-empty{padding:1rem;text-align:center}.modal-overlay{z-index:2000}.modal-content{border-radius:.5rem}.modal-close{border-radius:.25rem;font-size:2rem;height:2rem;line-height:1;transition:background-color .2s;width:2rem}.event-form{padding:1.5rem}.form-group .required{color:#dc2626}.form-group input,.form-group select,.form-group textarea{border-radius:.375rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.error-banner,.error-text{font-size:.875rem}.error-banner{background-color:#fef2f2;border-radius:.375rem;color:#991b1b;margin-bottom:1rem;padding:.75rem}.modal-actions{border-top:1px solid #e5e7eb;margin-top:1rem}.modal-actions-right{display:flex;gap:.75rem;margin-left:auto}.btn-delete,.btn-primary,.btn-secondary{border:none;border-radius:.375rem;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-primary{background-color:#667eea}.btn-primary:hover:not(:disabled){background-color:#5568d3}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background-color:#fff;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background-color:#f9fafb}.btn-delete{background-color:#dc2626}.btn-delete:hover:not(:disabled){background-color:#b91c1c}@media (max-width:768px){.modal-overlay{align-items:flex-end;padding:0}.modal-content{animation:slideUp .3s ease-out;border-radius:1rem 1rem 0 0;margin:0;max-height:95vh;max-width:none;width:100%}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{background:#fff;border-bottom:2px solid #e5e7eb;padding:1.25rem 1rem;position:sticky;top:0;z-index:10}.modal-header h2{font-size:1.25rem}.modal-close{min-height:44px;min-width:44px}.modal-body{max-height:calc(95vh - 200px);overflow-y:auto;padding:1.5rem 1rem}.form-group{margin-bottom:1.25rem}.form-group label{font-size:.875rem;font-weight:600}.form-input,.form-select,.form-textarea{font-size:1rem;min-height:44px;padding:.75rem}.form-row{gap:.75rem;grid-template-columns:1fr}.modal-actions{background:#fff;border-top:1px solid #e5e7eb;bottom:0;flex-direction:column-reverse;gap:.75rem;padding:1rem;position:sticky}.modal-actions-right{flex-direction:column;gap:.75rem;margin-left:0;width:100%}.btn-delete,.btn-primary,.btn-secondary{font-size:1rem;font-weight:600;min-height:44px;width:100%}}.chapter-calendar-page{background-color:#f9fafb;margin:0 auto;max-width:1600px;min-height:100vh;padding:2rem}.page-header h1{color:#111827;font-weight:700}.page-description{color:#6b7280;font-size:1rem;margin:0}.error-banner{align-items:center;background-color:#fee2e2;border:1px solid #fecaca;border-radius:.5rem;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}.error-banner p{color:#991b1b;font-weight:500;margin:0}.retry-button{background-color:#dc2626;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.retry-button:hover{background-color:#b91c1c}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 2rem}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}.loading-container p{color:#6b7280;font-size:1rem}@media (max-width:768px){.chapter-calendar-page{padding:1rem}.page-header{margin-bottom:1rem}.page-header h1{font-size:1.5rem}.page-description{font-size:.875rem}.error-banner{align-items:flex-start;flex-direction:column;gap:1rem}.retry-button{width:100%}}.page-back-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;margin-top:.5rem;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.page-back-button:hover{background:#f9fafb;border-color:#d1d5db;color:#1f2937}.page-back-button:active{transform:translateY(1px)}.page-header{align-items:flex-start;border-bottom:2px solid #e0e0e0;padding-bottom:1rem}.page-header h1{color:#333;font-size:2rem}.page-header .page-description{color:#666;font-size:1rem;margin:.5rem 0}.page-header .chapter-info{color:#555;font-size:.95rem;margin:.5rem 0 0}.page-header .chapter-info strong{color:#333}.page-header-actions{align-items:flex-end;flex-direction:column}.page-header .btn-primary,.page-header-actions .btn-primary{white-space:nowrap}.page-filters{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem}@media (max-width:1024px){.page-filters{align-items:stretch;flex-direction:column}}.page-filters .filter-group{display:flex;flex-direction:column;gap:.5rem}.page-filters .filter-group label{color:#555;font-size:.875rem;font-weight:500}.page-filters .filter-group select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.875rem;padding:.625rem .75rem}.page-filters .filter-checkboxes{align-items:flex-end;display:flex;padding-bottom:.25rem}.page-filters .checkbox-label{align-items:center;color:#555;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.page-filters .checkbox-label input[type=checkbox]{cursor:pointer}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column}.page-header-actions{flex-direction:column;margin-top:1rem}.page-header .btn-primary,.page-header-actions .btn-primary{width:100%}}.form-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:2rem}.form-card h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.form-card form{display:flex;flex-direction:column;gap:1rem}.form-group{margin-bottom:1rem}.form-group .required{color:#d32f2f;margin-left:.25rem}.form-group input,.form-group select,.form-group textarea{font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#d32f2f}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 3px #d32f2f1a}.field-help{color:#666;font-size:.875rem;margin:.25rem 0 0}.checkbox-label{margin:0}.checkbox-label input[type=checkbox]{margin-right:.5rem}.checkbox-label span{flex:1 1}.radio-group{gap:1.5rem;margin-top:.5rem}.radio-label{font-weight:400}.radio-label input[type=radio]{margin-right:.5rem;width:auto}@media (max-width:768px){.form-row{grid-template-columns:1fr}.radio-group{flex-direction:column;gap:.75rem}}.form-actions{border-top:1px solid #e0e0e0}.form-actions button{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 2rem;transition:all .2s}.form-actions button:disabled{cursor:not-allowed;opacity:.6}.form-actions .btn-primary{background-color:#2196f3;color:#fff}.form-actions .btn-primary:hover:not(:disabled){background-color:#1976d2}.form-actions .btn-secondary{background-color:#fff;border:1px solid #ddd;color:#666}.form-actions .btn-secondary:hover:not(:disabled){background-color:#f5f5f5;border-color:#bbb}@media (max-width:768px){.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.data-table-container{background:#fff;border:1px solid #ddd;border-radius:8px;overflow-x:auto}.data-table{font-size:.95rem}.data-table thead{background-color:#f5f5f5;border-bottom:2px solid #ddd}.data-table th{color:#333;white-space:nowrap}.data-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.data-table tbody tr:hover{background-color:#fafafa}.data-table tbody tr:last-child{border-bottom:none}.data-table td{color:#555}.data-table td.actions{text-align:right;white-space:nowrap}.data-table .btn-small{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;margin-right:.5rem;padding:.4rem .8rem;transition:all .2s}.data-table .btn-small:last-child{margin-right:0}.data-table .btn-edit{background-color:#2196f3;color:#fff}.data-table .btn-edit:hover{background-color:#1976d2}.data-table .btn-delete{background-color:#f44336;color:#fff}.data-table .btn-delete:hover{background-color:#d32f2f}.data-table .btn-activate{background-color:#4caf50;color:#fff}.data-table .btn-activate:hover{background-color:#388e3c}.data-table .btn-deactivate{background-color:#ff9800;color:#fff}.data-table .btn-deactivate:hover{background-color:#f57c00}.data-table .btn-restore{background-color:#9c27b0;color:#fff}.data-table .btn-restore:hover{background-color:#7b1fa2}@media (max-width:768px){.data-table{font-size:.875rem}.data-table td,.data-table th{padding:.75rem .5rem}.data-table .btn-small{font-size:.8rem;padding:.3rem .6rem}}.confirm-dialog-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.confirm-dialog{animation:slideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-header{border-bottom:1px solid #e5e7eb;padding:1.5rem 1.5rem 1rem}.confirm-dialog-header h3{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.confirm-dialog-body{padding:1.5rem}.confirm-dialog-body p{color:#6b7280;line-height:1.5;margin:0}.confirm-dialog-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}.confirm-dialog-footer .btn{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s}.confirm-dialog-footer .btn:focus{outline:2px solid;outline-offset:2px}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-secondary:hover{background-color:#e5e7eb}.btn-secondary:focus{outline-color:#9ca3af}.btn-danger{background-color:#dc2626}.btn-danger:hover{background-color:#b91c1c}.btn-danger:focus{outline-color:#dc2626}.btn-warning{background-color:#f59e0b;color:#fff}.btn-warning:hover{background-color:#d97706}.btn-warning:focus{outline-color:#f59e0b}.btn-info{background-color:#3b82f6;color:#fff}.btn-info:hover{background-color:#2563eb}.btn-info:focus{outline-color:#3b82f6}@media (max-width:640px){.confirm-dialog{margin:1rem;max-width:100%}.confirm-dialog-footer{flex-direction:column-reverse}.confirm-dialog-footer .btn{width:100%}}.toast-container{display:flex;flex-direction:column;gap:.75rem;max-width:420px;position:fixed;right:1rem;top:1rem;z-index:9999}.toast{align-items:center;animation:slideInRight .3s ease-out;background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;display:flex;gap:.75rem;min-width:300px;padding:1rem 1.25rem}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:700;height:24px;justify-content:center;width:24px}.toast-message{color:#374151;flex:1 1;font-size:.95rem;line-height:1.4}.toast-close{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:24px;justify-content:center;line-height:1;padding:0;transition:background-color .2s,color .2s;width:24px}.toast-close:hover{background-color:#f3f4f6;color:#374151}.toast-success{border-left-color:#10b981}.toast-success .toast-icon{background-color:#d1fae5;color:#10b981}.toast-error{border-left-color:#ef4444}.toast-error .toast-icon{background-color:#fee2e2;color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-warning .toast-icon{background-color:#fef3c7;color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-info .toast-icon{background-color:#dbeafe;color:#3b82f6}@media (max-width:640px){.toast-container{left:1rem;max-width:none;right:1rem}.toast{min-width:auto;width:100%}}.pagination{align-items:center;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:1.5rem;padding:1.5rem 0}.pagination-info{color:#6b7280;font-size:.95rem}.pagination-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.pagination-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.95rem;min-width:40px;padding:.5rem .75rem;text-align:center;transition:all .2s}.pagination-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-btn.active{background-color:#f59e0b;border-color:#f59e0b;color:#fff;font-weight:600}.pagination-btn.active:hover{background-color:#d97706;border-color:#d97706}.pagination-ellipsis{color:#9ca3af;padding:0 .25rem}@media (max-width:640px){.pagination{align-items:stretch;flex-direction:column}.pagination-info{text-align:center}.pagination-controls{justify-content:center}.pagination-btn{font-size:.875rem;min-width:36px;padding:.375rem .625rem}}.workspace-dashboard-container{background:linear-gradient(135deg,#6ca6f1,#8bbef7);min-height:calc(100vh - 60px);padding:2rem 1rem}.workspace-dashboard{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;margin:0 auto;max-width:1200px;padding:2.5rem}.workspace-dashboard h1{color:#2d3748;font-size:2.5rem;margin-bottom:.5rem}.welcome-message{color:#718096;font-size:1.1rem;margin-bottom:2rem}.dashboard-content{gap:0}@media (max-width:768px){.workspace-dashboard{padding:1.5rem}.workspace-dashboard h1{font-size:2rem}}.terms-management-container{background:linear-gradient(135deg,#6ca6f1,#8bbef7);min-height:calc(100vh - 60px);padding:2rem 1rem}.terms-management{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;margin:0 auto;max-width:1200px;padding:2.5rem}.terms-instructions{background-color:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin-bottom:1.5rem;padding:1rem 1.25rem}.terms-instructions p{color:#1565c0;font-size:.938rem;line-height:1.5;margin:0}.terms-instructions strong{color:#0d47a1}.form-row{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.terms-list{margin-top:2.5rem}.terms-list h2{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:.75rem}.terms-table-container{border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.terms-table{background:#fff;border-collapse:collapse;width:100%}.terms-table thead{background:#f7fafc}.terms-table th{border-bottom:2px solid #e2e8f0;color:#4a5568;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.terms-table td{border-bottom:1px solid #e2e8f0;color:#2d3748;padding:1rem}.terms-table tr:hover{background:#f7fafc}.terms-table tr.active-term{background:#ebf8ff}.terms-table tr.active-term:hover{background:#bee3f8}.term-name{color:#2d3748;font-weight:600}.term-type{text-transform:capitalize}.btn-small{border-radius:8px;font-weight:600;transition:all .2s}.btn-activate{background:#48bb78}.btn-activate:hover{background:#38a169;transform:translateY(-1px)}.btn-deactivate{background:#fc8181}.btn-deactivate:hover{background:#f56565;transform:translateY(-1px)}@media (max-width:768px){.terms-management{padding:1.5rem}.form-row{grid-template-columns:1fr}.terms-table{font-size:.875rem}.terms-table td,.terms-table th{padding:.75rem .5rem}}.schools-management-container{margin:0 auto;max-width:1400px;padding:1.25rem}.schools-management{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.875rem}.form-section-title{border-top:1px solid #e0e0e0;color:#555;margin:1.25rem 0 .625rem;padding-top:.938rem}.form-section-title:first-child{border-top:none;margin-top:0;padding-top:0}.form-row{grid-gap:15px;gap:15px}.form-group,.form-row{margin-bottom:15px}.form-group label{font-size:14px;margin-bottom:5px}.required{margin-left:3px}.form-group input,.form-group select{font-size:14px;padding:10px 12px}.error-message{font-size:12px;margin-top:4px}.checkbox-label input[type=checkbox]{margin-right:8px}.schools-list{margin-top:1.875rem}.schools-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.schools-list h2{color:#333;font-size:1.375rem;margin:0}.search-container{flex:1 1;max-width:400px;min-width:250px;position:relative}.search-input{border:1px solid #ddd;border-radius:4px;font-size:.875rem;padding:.625rem 2.5rem .625rem .75rem;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.search-clear-btn{background:none;border:none;color:#999;cursor:pointer;font-size:1rem;padding:.25rem .5rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:color .2s}.search-clear-btn:hover{color:#333}.schools-table{border-collapse:collapse;margin-top:.938rem;width:100%}.schools-table thead{background-color:#f5f5f5;border-bottom:2px solid #e0e0e0}.schools-table th{color:#555;font-weight:600;text-align:left}.schools-table td,.schools-table th{font-size:.875rem;padding:.75rem .938rem}.schools-table td{border-bottom:1px solid #e0e0e0;color:#333}.schools-table tbody tr{transition:background-color .2s}.schools-table tbody tr:hover{background-color:#f9f9f9}.schools-table tbody tr.inactive-row{background-color:#fafafa;opacity:.7}.contact-email{color:#757575;font-size:.75rem;margin-top:.125rem}.no-contact{color:#999;font-style:italic}.address-details{color:#757575;font-size:.75rem;margin-top:.125rem}@media (max-width:768px){.schools-management-container{padding:.625rem}.schools-management{padding:1.25rem}.form-row{grid-template-columns:1fr}.schools-table{font-size:.813rem}.schools-table td,.schools-table th{padding:.5rem .625rem}.btn-small{font-size:.75rem;padding:.313rem .5rem}}@media (max-width:1024px){.schools-table{display:block;overflow-x:auto;white-space:nowrap}}.modal-content.classroom-schedule-modal{max-height:90vh;max-width:1400px!important;width:98%!important}.classroom-schedule-modal .classroom-info{color:#6b7280;font-size:16px;font-weight:400;margin:8px 0 0}.classroom-schedule-modal .instructions{background:#f0f9ff;border-left:3px solid #3b82f6;border-radius:4px;margin-bottom:20px;padding:12px 16px}.classroom-schedule-modal .instructions p{color:#1e40af;font-size:14px;line-height:1.5;margin:0}.classroom-schedule-modal .schedule-section{margin-bottom:16px}.classroom-schedule-modal .slot-count{background:#f9fafb;border-radius:6px;color:#6b7280;font-size:14px;margin-bottom:12px;padding:12px;text-align:center}.matched-volunteers-info{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;color:#166534;font-size:14px;font-weight:500;padding:12px 16px;text-align:center}.modal-footer{gap:12px;padding:20px 24px}.footer-left,.footer-right{display:flex;gap:12px}.btn-danger{background:#ef4444;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger:disabled{opacity:.5}@media (max-width:768px){.classroom-schedule-modal{border-radius:0;height:100vh;margin:0;max-height:100vh;max-width:100%;width:100%}.modal-footer{flex-direction:column;padding:16px}.footer-left,.footer-right{flex-direction:column-reverse;width:100%}.footer-left .btn,.footer-right .btn{width:100%}}.add-schedule-section{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;margin-bottom:24px;padding:20px}.add-schedule-section .btn{margin-bottom:8px}.add-schedule-section .help-text{color:#6b7280;font-size:13px;line-height:1.5;margin:8px 0 0}.schedule-form{background:#fff;border:2px solid #3b82f6;border-radius:8px;margin-bottom:24px;padding:20px}.schedule-form h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 16px}.schedule-form .form-section-header{border-top:2px solid #e5e7eb;margin-top:24px;padding-top:20px}.schedule-form .form-section-header h4{color:#374151;font-size:16px;font-weight:600;margin:0 0 4px}.schedule-form .form-section-header .help-text{color:#6b7280;font-size:14px;font-style:italic;margin:0 0 12px}.schedule-form .form-row{display:flex;gap:16px;margin-bottom:16px}.schedule-form .form-group{flex:1 1}.schedule-form .form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.schedule-form .form-group input,.schedule-form .form-group select,.schedule-form .form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.schedule-form .form-group input:focus,.schedule-form .form-group select:focus,.schedule-form .form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.schedule-form .form-group textarea{min-height:60px;resize:vertical}.schedule-form .form-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:16px}.schedules-list-section{margin-top:24px}.schedules-list-section h3{color:#111827;font-size:16px;font-weight:600;margin:0 0 16px}.schedules-list{display:flex;flex-direction:column;gap:12px}.schedule-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:16px;transition:all .2s ease}.schedule-item:hover{border-color:#3b82f6;box-shadow:0 2px 4px #0000000d}.schedule-info{flex:1 1}.schedule-day{color:#111827;font-weight:600}.schedule-day,.schedule-time{font-size:14px;margin-bottom:4px}.schedule-time{color:#3b82f6;font-weight:500}.schedule-notes{color:#6b7280;font-size:13px;font-style:italic}.schedule-actions{display:flex;gap:8px}.btn-icon{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:16px;padding:8px 12px}.btn-icon:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.btn-icon:disabled{cursor:not-allowed;opacity:.5}.empty-state{background:#f9fafb;border:2px dashed #d1d5db;color:#6b7280;padding:40px 20px}.empty-state p{font-size:14px}@media (max-width:768px){.schedule-form .form-row,.schedule-item{flex-direction:column}.schedule-item{align-items:flex-start;gap:12px}.schedule-actions{justify-content:flex-end;width:100%}.schedule-form .form-actions{flex-direction:column-reverse}.schedule-form .form-actions .btn{width:100%}}.teacher-agreement-section{align-items:center;background:#fefce8;border:1px solid #fde047;border-left:4px solid #facc15;border-radius:6px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.teacher-agreement-label{align-items:center;color:#713f12;cursor:pointer;display:flex;font-weight:500;gap:8px;margin:0}.teacher-agreement-label input[type=checkbox]{cursor:pointer;height:18px;margin:0;width:18px}.teacher-agreement-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.teacher-agreement-label .agreement-text{font-size:15px;-webkit-user-select:none;user-select:none}.agreement-date{color:#854d0e;font-size:13px;font-style:italic}.modal-content.classroom-edit-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{border-bottom:1px solid #eee;padding:20px 24px}.modal-header h2{font-size:20px}.modal-close{font-size:28px}.modal-close:hover:not(:disabled){background:#f3f4f6;color:#111827}.modal-body{padding:24px}.classroom-edit-form{padding:0}.classroom-edit-form .form-error-banner{background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;font-size:14px;margin-bottom:20px;padding:12px}.classroom-edit-form .form-group{margin-bottom:20px}.classroom-edit-form .form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.classroom-edit-form .form-group label .required{color:#d32f2f;margin-left:2px}.classroom-edit-form .form-group input,.classroom-edit-form .form-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.classroom-edit-form .form-group input:focus,.classroom-edit-form .form-group select:focus{border-color:#4caf50;outline:none}.classroom-edit-form .form-group input.error,.classroom-edit-form .form-group select.error{border-color:#d32f2f}.classroom-edit-form .form-group input:disabled,.classroom-edit-form .form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.classroom-edit-form .form-group .error-message{color:#d32f2f;display:block;font-size:12px;margin-top:4px}.classroom-edit-form .checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px}.classroom-edit-form .checkbox-label input[type=checkbox]{cursor:pointer;width:auto}.classroom-edit-form .checkbox-label span{color:#333;font-size:14px}.classroom-edit-form .modal-actions{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:20px}.classroom-edit-form .modal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.classroom-edit-form .modal-actions button:disabled{cursor:not-allowed;opacity:.6}.classroom-edit-form .modal-actions .btn-secondary{background-color:#f5f5f5;color:#333}.classroom-edit-form .modal-actions .btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.classroom-edit-form .modal-actions .btn-primary{background-color:#4caf50;color:#fff}.classroom-edit-form .modal-actions .btn-primary:hover:not(:disabled){background-color:#45a049}.program-assignment-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.program-assignment-modal-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.program-modal-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1.5rem}.program-modal-header h3{color:#212529;font-size:1.25rem;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;width:2rem}.close-button:hover{background:#f8f9fa;color:#212529}.program-modal-body{padding:1.5rem}.classroom-info{background:#f8f9fa;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.classroom-info .info-row{display:flex;justify-content:space-between;margin-bottom:.5rem}.classroom-info .info-row:last-child{margin-bottom:0}.classroom-info .label{color:#495057;font-weight:600}.classroom-info .value{color:#212529}.program-assignment-form{margin-top:1rem}.loading-message{color:#6c757d;padding:2rem;text-align:center}.modal-actions{align-items:center;border-top:1px solid #dee2e6;justify-content:space-between;margin-top:2rem;padding-top:1rem}.action-buttons-right{display:flex;gap:.75rem;margin-left:auto}.error-message{background:#f8d7da;border-radius:4px;color:#721c24;margin-bottom:1rem;margin-top:1rem;padding:.75rem}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-danger:disabled{background-color:#e9a1a9;cursor:not-allowed}.classrooms-management-container{margin:0 auto;max-width:1400px;padding:1.25rem}.classrooms-management{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.875rem}.classrooms-filters-section{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.25rem;padding:1.25rem}.classrooms-filters-section h3{color:#555;font-size:1.125rem;margin:0 0 .938rem}.classrooms-filters-row{align-items:flex-end;display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem}.classrooms-filters-row .classroom-filter-group{display:flex;flex:1 1 200px;flex-direction:column;gap:.313rem;max-width:300px}@media (max-width:767px){.classrooms-filters-row .classroom-filter-group{flex:1 1 100%;max-width:100%}}.classrooms-filters-row .classroom-filter-group label{color:#555;font-size:.875rem;font-weight:500;margin-bottom:.313rem}.classrooms-filters-row .classroom-filter-group input,.classrooms-filters-row .classroom-filter-group select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.875rem;padding:.625rem .75rem}.classrooms-filters-row .btn-secondary.btn-small{align-self:flex-end;white-space:nowrap}.classroom-form-card{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.875rem;padding:1.563rem}.form-group label{color:#555;margin-bottom:.313rem}.required{color:#d32f2f;margin-left:.188rem}.form-group input,.form-group select{padding:.625rem .75rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.form-group input.error,.form-group select.error{border-color:#d32f2f}.error-message{color:#d32f2f}.checkbox-label{font-weight:400}.checkbox-label input[type=\"checkbox\"]{cursor:pointer;margin-right:.5rem;width:auto}.checkbox-label span{color:#555}.btn-small{border:none;border-radius:4px;font-size:.813rem;margin:0 .125rem;padding:.375rem .75rem;transition:background-color .2s,transform .1s}.btn-edit{background-color:#2196f3}.btn-edit:hover{background-color:#1976d2}.btn-schedule{background-color:#9c27b0;color:#fff}.btn-schedule:hover{background-color:#7b1fa2}.btn-activate{background-color:#4caf50;color:#fff}.btn-activate:hover{background-color:#388e3c}.btn-deactivate{background-color:#ff9800;color:#fff}.btn-deactivate:hover{background-color:#f57c00}.btn-delete{background-color:#f44336}.btn-delete:hover{background-color:#d32f2f}.classrooms-list{margin-top:1.875rem}.classrooms-list h2{color:#333;font-size:1.375rem;margin:0 0 1.25rem}.table-responsive{overflow-x:auto}.classrooms-table{margin-top:.938rem}.classrooms-table thead{background-color:#f5f5f5;border-bottom:2px solid #e0e0e0}.classrooms-table th{color:#555;font-size:.875rem;padding:.75rem .938rem}.classrooms-table td{border-bottom:1px solid #e0e0e0;color:#333;font-size:.875rem;padding:.75rem .938rem}.classrooms-table tbody tr{transition:background-color .2s}.classrooms-table tbody tr:hover{background-color:#f9f9f9}.classrooms-table tbody tr.inactive-row{background-color:#fafafa;opacity:.7}.classrooms-table tbody tr.past-term-row{background-color:#c8c8c8!important;color:#555;opacity:.7}.classrooms-table tbody tr.past-term-row td{color:#555}.classrooms-table tbody tr.past-term-row:hover{background-color:#b8b8b8!important}.classrooms-table tbody tr.past-term-row.has-schedule{background-color:#c8c8c8!important;border-left:4px solid #888!important}.classrooms-table tbody tr.past-term-row.has-schedule:hover{background-color:#b8b8b8!important}.classrooms-table tbody tr.has-schedule{background-color:#e8f5e9;border-left:4px solid #4caf50}.classrooms-table tbody tr.has-schedule:hover{background-color:#c8e6c9}.school-name{color:#1976d2;font-weight:500}.school-location,.term-dates{color:#757575;font-size:.75rem;margin-top:.125rem}.no-data{font-style:italic}@media (max-width:768px){.classrooms-management-container{padding:.625rem}.classrooms-management{padding:1.25rem}.classrooms-table{font-size:.813rem}.classrooms-table td,.classrooms-table th{padding:.5rem .625rem}.btn-small{font-size:.75rem;padding:.313rem .5rem}}@media (max-width:1024px){.classrooms-table{display:block;overflow-x:auto;white-space:nowrap}}.edit-title-roles-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-section{margin-bottom:2rem}.modal-section:last-child{margin-bottom:0}.section-title{color:#1f2937;font-size:1.125rem;margin-bottom:.5rem}.section-divider{background-color:#e5e7eb;height:1px;margin-bottom:1.5rem}.current-value{background-color:#f3f4f6;border-radius:6px;color:#1f2937;font-size:1rem;font-weight:500}.current-value,.form-control{border:1px solid #d1d5db;padding:.625rem .875rem}.form-control{background-color:#fff;border-radius:6px;font-size:.875rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-control:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-control:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.no-roles{color:#6b7280;font-style:italic;padding:.5rem 0}.roles-list{list-style:none;margin:0;padding:0}.role-item{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem 1rem}.role-item:last-child{margin-bottom:0}.role-name{color:#1f2937;font-size:.875rem;font-weight:500}.btn-remove-role{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem .5rem;transition:color .2s,transform .1s}.btn-remove-role:hover:not(:disabled){color:#991b1b;transform:scale(1.1)}.btn-remove-role:disabled{cursor:not-allowed;opacity:.5}.add-role-group{margin-top:1.5rem}.add-role-controls{align-items:flex-start;display:flex;gap:.75rem}.add-role-controls .form-control{flex:1 1}.add-role-controls .btn{flex-shrink:0;white-space:nowrap}.btn{border-radius:6px;font-size:.875rem;padding:.625rem 1.25rem;transition:background-color .2s,box-shadow .2s,transform .1s}.btn:disabled{opacity:.6}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background-color:#3b82f6}.btn-primary:hover:not(:disabled){background-color:#2563eb;box-shadow:0 2px 8px #3b82f64d}.btn-secondary{background-color:#6b7280}.btn-secondary:hover:not(:disabled){background-color:#4b5563;box-shadow:0 2px 8px #6b72804d}.modal-content{display:flex;flex-direction:column;overflow:hidden}.modal-header h2{color:#1f2937;font-size:1.25rem}.modal-close-btn{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;line-height:1;padding:0;transition:color .2s;width:2rem}.modal-close-btn:hover{color:#1f2937}.modal-body{flex:1 1;overflow-y:auto}.modal-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;gap:.75rem;justify-content:flex-end;padding:1.5rem}@media (max-width:640px){.edit-title-roles-modal{border-radius:0;max-height:100vh;max-width:100%;width:100%}.modal-overlay{padding:0}.modal-header h2{font-size:1.125rem}.add-role-controls{flex-direction:column}.add-role-controls .btn{width:100%}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}@media (min-width:641px) and (max-width:768px){.edit-title-roles-modal{max-width:540px}}.popover-overlay{background:#0000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.forms-status-popover{animation:popover-fade-in .2s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:80vh;overflow-y:auto;position:fixed;width:380px;z-index:1000}@keyframes popover-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.popover-header{align-items:center;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:1rem 1.25rem}.popover-header h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.popover-close-btn{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:1.75rem;height:1.5rem;justify-content:center;line-height:1;padding:0;transition:color .2s;width:1.5rem}.popover-close-btn:hover{color:#1f2937}.popover-body{padding:1.25rem}.volunteer-info{color:#374151;font-size:.9375rem;margin-bottom:1rem}.forms-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.form-item{background-color:#fafafa;border:1px solid #e5e7eb;border-radius:6px;padding:.75rem;transition:background-color .2s}.form-item:hover{background-color:#f3f4f6}.form-status-row{align-items:center;display:flex;gap:.625rem}.form-icon{flex-shrink:0;font-size:1.125rem;text-align:center;width:1.5rem}.form-name{color:#1f2937;flex:1 1;font-size:.875rem;font-weight:500}.form-date{color:#6b7280}.form-date,.form-note{font-size:.75rem;margin-left:2.125rem;margin-top:.375rem}.form-note{font-weight:500}.form-note.required{color:#dc2626}.form-item.status-complete{background-color:#f0fdf4;border-color:#86efac}.form-item.status-required{background-color:#fef2f2;border-color:#fca5a5}.form-item.status-optional-incomplete{background-color:#fffbeb;border-color:#fcd34d}.form-item.status-optional{background-color:#fafafa;border-color:#e5e7eb}.popover-legend{grid-gap:.5rem;border-top:1px solid #e5e7eb;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;padding-top:1rem}.legend-item{display:flex;font-size:.75rem;gap:.5rem}.legend-icon{font-size:.875rem;text-align:center;width:1.25rem}@media (max-width:768px){.forms-status-popover{left:50%!important;max-height:85vh;max-width:400px;position:fixed;right:auto!important;top:50%!important;transform:translate(-50%,-50%);width:90%}.popover-overlay{background:#0000004d}@keyframes popover-fade-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}}@media (min-width:769px) and (max-width:1024px){.forms-status-popover{width:360px}}body.popover-open{overflow:hidden}.volunteers-management-container{background-color:#f9fafb;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem 1.5rem}.volunteers-management-container .filters-section{grid-gap:1rem;align-items:end;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:grid;gap:1rem;grid-template-columns:1fr;margin-bottom:1.5rem;padding:1.5rem}.volunteers-management-container .filters-section>.filter-group,.volunteers-management-container .filters-section>.filter-group:first-child,.volunteers-management-container .filters-section>.search-group{grid-column:auto!important}@media (min-width:768px){.volunteers-management-container .filters-section{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.volunteers-management-container .filters-section{grid-template-columns:repeat(3,1fr)}}@media (min-width:1400px){.volunteers-management-container .filters-section{grid-template-columns:repeat(4,1fr)}}.volunteers-management-container .filter-group,.volunteers-management-container .search-group{display:flex;flex-direction:column;gap:8px}.volunteers-management-container .search-group{grid-column:1/-1}.volunteers-management-container .filter-group label,.volunteers-management-container .search-group label{color:#374151;font-size:14px;font-weight:600}.volunteers-management-container .filter-group select,.volunteers-management-container .search-group input{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.625rem .875rem;transition:border-color .2s,box-shadow .2s;width:100%}.volunteers-management-container .filter-group select:focus,.volunteers-management-container .search-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.volunteers-management-container .results-count{border-top:1px solid #e5e7eb;color:#6b7280;font-size:.875rem;font-weight:500;grid-column:1/-1;margin-top:.5rem;padding:.5rem 0 0;text-align:right}.forms-legend{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;font-size:.875rem;gap:1.5rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.forms-legend strong{color:#374151;font-weight:600}.legend-item{align-items:center;color:#6b7280;display:inline-flex}.legend-item:before{color:#9ca3af;content:"•";font-size:1.2rem;margin-right:.5rem}.no-data{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#6b7280;font-size:1rem}.volunteers-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.volunteers-table th{color:#374151;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.volunteers-table th.sortable{cursor:pointer;transition:background-color .2s;-webkit-user-select:none;user-select:none}.volunteers-table th.sortable:hover{background-color:#f3f4f6}.volunteers-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.volunteers-table tbody tr:hover{background-color:#f9fafb}.volunteers-table tbody tr:last-child{border-bottom:none}.volunteers-table td{color:#111827;font-size:.875rem}.badge-cnet,.volunteers-table td strong{font-weight:600}.badge-cnet{background-color:#dbeafe;border-radius:4px;color:#1e40af;display:inline-block;font-size:.6875rem;letter-spacing:.025em;margin-left:.5rem;padding:.125rem .5rem;text-transform:uppercase}.completeness-cell{align-items:center;display:flex;gap:.5rem}.progress-badge-container{align-items:center;border-radius:6px;cursor:pointer;display:inline-flex;gap:.375rem;padding:.125rem;transition:background-color .2s}.progress-badge-container:hover{background-color:#f3f4f6}.progress-badge-container:focus{outline:2px solid #3b82f6;outline-offset:2px}.completeness-badge{border-radius:4px;display:inline-block;font-size:.8125rem;font-weight:700;min-width:48px;padding:.25rem .625rem;pointer-events:none;text-align:center}.forms-info-icon{color:#3b82f6;font-size:.875rem;opacity:.7;pointer-events:none;transition:opacity .2s}.progress-badge-container:hover .forms-info-icon{opacity:1}.completeness-badge.completeness-high{background-color:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.completeness-badge.completeness-medium{background-color:#fef3c7;border:1px solid #fde68a;color:#92400e}.completeness-badge.completeness-low{background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.eligibility-indicator{align-items:center;background-color:#10b981;border-radius:50%;color:#fff;display:inline-flex;font-size:.75rem;font-weight:700;height:20px;justify-content:center;width:20px}.forms-status-cell{align-items:center;display:flex;flex-wrap:wrap;gap:.625rem}.form-icon{align-items:center;color:#6b7280;cursor:help;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;white-space:nowrap}.actions-group{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.btn-edit{background-color:#dbeafe;border:none;border-radius:6px;color:#1e40af;cursor:pointer;font-size:.8125rem;font-weight:600;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.btn-edit:hover{background-color:#bfdbfe}.text-muted{color:#9ca3af}.btn-toggle{border:none;border-radius:6px;cursor:pointer;font-size:.8125rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.btn-toggle.deactivate{background-color:#fef3c7;color:#92400e}.btn-toggle.deactivate:hover{background-color:#fde68a}.btn-toggle.activate{background-color:#d1fae5;color:#065f46}.btn-toggle.activate:hover{background-color:#a7f3d0}@media (max-width:1024px){.volunteers-table{font-size:13px}.volunteers-table td,.volunteers-table th{padding:12px}}@media (max-width:768px){.filters-section{align-items:stretch;flex-direction:column}.filter-group,.search-group{width:100%}.filter-group select,.search-group input{min-width:auto;width:100%}.results-count{margin-left:0;text-align:center}.table-container{overflow-x:auto}.volunteers-table{min-width:800px}}.volunteer-match-modal{display:flex;flex-direction:column;max-height:90vh;max-width:900px}.volunteer-match-modal .modal-header{border-bottom:1px solid #e0e0e0;padding-bottom:1rem}.volunteer-match-modal .classroom-info{color:#666;font-size:.95rem;margin:.25rem 0 0}.volunteer-match-modal .schedule-summary{color:#888;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.5rem;margin-top:.5rem}.volunteer-match-modal .schedule-slot{background-color:#f0f8ff;border-radius:4px;font-size:.8rem;padding:.25rem .5rem}.volunteer-match-modal .modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.filter-controls{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.checkbox-label{font-size:.95rem}.result-count{color:#666;font-size:.875rem;font-weight:500}.suggestions-list{display:flex;flex-direction:column;gap:1rem}.volunteer-card{align-items:flex-start;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:1.25rem;transition:box-shadow .2s}.volunteer-card:hover{box-shadow:0 2px 8px #0000001a}.volunteer-card.already-assigned{background-color:#f9f9f9;opacity:.8}.volunteer-info{flex:1 1}.volunteer-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.volunteer-name{color:#333;font-size:1.1rem;margin:0}.compatibility-badge{border-radius:16px;font-size:.875rem;font-weight:600;padding:.35rem .75rem;white-space:nowrap}.compatibility-badge.high{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.compatibility-badge.medium{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.compatibility-badge.low{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.volunteer-contact{color:#666;display:flex;flex-wrap:wrap;font-size:.875rem;gap:1rem;margin-bottom:.75rem}.contact-item{align-items:center;display:flex;gap:.25rem}.availability-breakdown{font-size:.875rem;margin-top:1rem}.availability-breakdown strong{color:#333;display:block;margin-bottom:.5rem}.slot-matches{display:flex;flex-wrap:wrap;gap:.5rem}.slot-match{border:1px solid;border-radius:4px;font-size:.8rem;padding:.25rem .5rem}.slot-match.available{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.slot-match.unavailable{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.assigned-badge{background-color:#e7f3ff;border:1px solid #b8daff;border-radius:4px;color:#004085;font-size:.875rem;font-weight:500;margin-top:.75rem;padding:.5rem;text-align:center}.volunteer-actions{align-items:center;display:flex}.volunteer-actions .btn{min-width:100px}.no-results{color:#666;padding:3rem 1rem;text-align:center}.no-results p{font-size:1rem;margin-bottom:1rem}.volunteer-match-modal .modal-footer{border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;padding:1rem 1.5rem}@media (max-width:768px){.volunteer-match-modal{border-radius:0;max-height:100vh;max-width:100%}.volunteer-card{flex-direction:column;padding:1rem}.volunteer-header{align-items:flex-start;flex-direction:column}.compatibility-badge{align-self:flex-start}.volunteer-actions,.volunteer-actions .btn{width:100%}.filter-controls{align-items:flex-start;flex-direction:column;gap:.75rem}.slot-matches{gap:.35rem}.slot-match{font-size:.75rem;padding:.2rem .4rem}}.assignments-container{margin:0 auto;max-width:1400px;padding:2rem}.label-with-action{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.label-with-action label{margin:0}.volunteers-checklist{border:1px solid #ddd;border-radius:4px;display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto;padding:1rem}.assignments-list{display:flex;flex-direction:column;gap:1.5rem}.classroom-group{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;overflow:hidden;transition:box-shadow .3s}.classroom-group:hover{box-shadow:0 4px 8px #0000001a}.classroom-group.inactive{background:#f9f9f9;opacity:.7}.classroom-header{align-items:center;background:linear-gradient(135deg,#6ca6f1,#8bbef7);color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.classroom-info h3{align-items:center;display:flex;font-size:1.3rem;gap:.75rem;margin:0 0 .5rem}.classroom-details{font-size:.95rem;margin:.5rem 0;opacity:.95}.classroom-details strong{font-weight:600;margin-right:.25rem}.volunteers-list{padding:1.5rem}.volunteers-table{border-collapse:collapse;width:100%}.volunteers-table thead{background:#f8f9fa}.volunteers-table th{border-bottom:2px solid #dee2e6;color:#2c3e50;font-weight:600;padding:1rem;text-align:left}.volunteers-table td{border-bottom:1px solid #e9ecef;color:#495057;padding:1rem}.volunteers-table tbody tr:hover{background:#f8f9fa}.volunteers-table tbody tr.deleted-row{background:#fee;opacity:.7}.volunteers-table tbody tr.deleted-row:hover{background:#fdd}.btn-delete,.btn-link,.btn-primary,.btn-restore,.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s}.btn-link{background:#0000;border:1px solid #3498db;color:#3498db;font-size:.875rem;padding:.5rem 1rem;text-decoration:none}.btn-link:hover:not(:disabled){background:#ebf5fb}.btn-link:disabled{border-color:#95a5a6;color:#95a5a6;cursor:not-allowed;opacity:.6}@media (max-width:1024px){.form-row{grid-template-columns:1fr}.classroom-header{align-items:flex-start;flex-direction:column;gap:1rem}.assignment-count{align-self:flex-start}}@media (max-width:768px){.assignments-container{padding:1rem}.filter-checkboxes{flex-direction:column;gap:.75rem}.volunteers-table{font-size:.85rem}.volunteers-table td,.volunteers-table th{padding:.75rem .5rem}}.programs-container{background-color:#f9fafb;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem 1.5rem}.form-group input,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.625rem .875rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.error-text{color:#dc2626}.programs-list{margin-top:2rem}.table-container{background-color:#fff;box-shadow:0 1px 3px #0000001a}.programs-table{border-collapse:collapse;width:100%}.programs-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.programs-table th{color:#374151;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.programs-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.programs-table tbody tr:hover{background-color:#f9fafb}.programs-table tbody tr:last-child{border-bottom:none}.programs-table td{color:#111827;font-size:.875rem;padding:1rem}.programs-table td strong{font-weight:600}.btn-delete,.btn-edit{border:none;border-radius:6px;cursor:pointer;font-size:.813rem;font-weight:600;margin-left:.5rem;padding:.5rem 1rem;transition:all .2s}.btn-edit{background-color:#3b82f6;color:#fff}.btn-edit:hover{background-color:#2563eb}.btn-delete{background-color:#ef4444}.btn-delete:hover{background-color:#dc2626}@media (max-width:768px){.programs-container{padding:1rem}.table-container{overflow-x:auto}.programs-table{font-size:.813rem;min-width:600px}.programs-table td,.programs-table th{padding:.75rem .5rem}}.program-assignments-container{margin:0 auto;max-width:1400px;padding:2rem}.program-assignments-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.program-assignments-header h1{color:#2c3e50;font-size:2rem;margin:0}.bulk-form-card{background:#fff;border:2px solid #3498db;border-radius:8px;box-shadow:0 4px 6px #3498db1a;margin-bottom:2rem;padding:2rem}.bulk-form-card h2{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem;margin-top:0}.form-group{gap:.5rem}.form-group label{color:#34495e;font-size:.95rem;font-weight:600}.required{color:#e74c3c}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:.95rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db}.form-group input.error,.form-group select.error{border-color:#e74c3c}.error-text{color:#e74c3c;font-size:.85rem;margin-top:-.25rem}.classrooms-checklist{border:1px solid #ddd;border-radius:4px;display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto;padding:1rem}.checkbox-label{gap:.75rem}.checkbox-label:hover{background-color:#f8f9fa}.checkbox-label span{color:#2c3e50}.filter-group{gap:.75rem}.filter-group label{color:#34495e;font-size:.95rem}.filter-group select{border:1px solid #ddd;border-radius:4px;font-size:.95rem;min-width:200px;padding:.5rem 1rem}.filter-checkboxes{display:flex;gap:1.5rem}.program-assignments-list{display:flex;flex-direction:column;gap:1.5rem}.program-group{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;overflow:hidden;transition:box-shadow .3s}.program-group:hover{box-shadow:0 4px 8px #0000001a}.program-group.inactive{background:#f9f9f9;opacity:.7}.program-header{align-items:center;color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.program-header.program-color-blue{background:linear-gradient(135deg,#2196f3,#21cbf3)}.program-header.program-color-green{background:linear-gradient(135deg,#56ab2f,#a8e063)}.program-header.program-color-purple{background:linear-gradient(135deg,#6ca6f1,#8bbef7)}.program-header.program-color-orange{background:linear-gradient(135deg,#f46b45,#eea849)}.program-header.program-color-teal{background:linear-gradient(135deg,#11998e,#38ef7d)}.program-info h3{align-items:center;display:flex;font-size:1.3rem;gap:.75rem;margin:0 0 .5rem}.program-description{font-size:.95rem;margin:.5rem 0;opacity:.95}.program-description strong{font-weight:600;margin-right:.25rem}.classroom-address{font-size:.9rem;margin:.5rem 0 0;opacity:.9}.assignment-count{background:#fff3;border-radius:20px;font-size:.95rem;font-weight:600;padding:.75rem 1.25rem;white-space:nowrap}.classrooms-list{padding:1.5rem}.no-volunteers{color:#7f8c8d;font-style:italic;padding:1rem;text-align:center}.classrooms-table{border-collapse:collapse;width:100%}.classrooms-table thead{background:#f8f9fa}.classrooms-table th{border-bottom:2px solid #dee2e6;color:#2c3e50;font-weight:600;padding:1rem;text-align:left}.section-title{background-color:#f8f9fa;border-left:4px solid #3498db;color:#2c3e50;font-size:1rem;font-weight:600;margin:1.5rem 0 .75rem;padding:.5rem 1rem}.past-term-section{border-top:2px dashed #dee2e6;margin-top:2rem;padding-top:1.5rem}.past-term-section .section-title{border-left-color:#95a5a6;color:#7f8c8d}.past-term-table{opacity:.7}.past-term-row{background-color:#f8f9fa!important}.past-term-row td{color:#7f8c8d!important}.past-term-row:hover{background-color:#ecf0f1!important}.classrooms-table td{border-bottom:1px solid #e9ecef;color:#495057;padding:1rem}.classrooms-table tbody tr:hover{background:#f8f9fa}.classrooms-table tbody tr.deleted-row{background:#fee;opacity:.7}.classrooms-table tbody tr.deleted-row:hover{background:#fdd}.actions-cell{text-align:right}.btn-delete,.btn-primary,.btn-restore,.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s}.btn-primary{background:#3498db}.btn-primary:hover{background:#2980b9}.btn-secondary{background:#95a5a6}.btn-secondary:hover{background:#7f8c8d}.btn-delete{background:#e74c3c;color:#fff;font-size:.9rem;padding:.5rem 1rem}.btn-delete:hover{background:#c0392b}.btn-restore{background:#27ae60;color:#fff;font-size:.9rem;padding:.5rem 1rem}.btn-restore:hover{background:#229954}@media (max-width:1024px){.form-row{grid-template-columns:1fr}.program-header{align-items:flex-start;flex-direction:column;gap:1rem}.assignment-count{align-self:flex-start}}@media (max-width:768px){.program-assignments-container{padding:1rem}.filter-checkboxes{flex-direction:column;gap:.75rem}.classrooms-table{font-size:.85rem}.classrooms-table td,.classrooms-table th{padding:.75rem .5rem}}.modal-overlay{padding:1rem}.modal-content{box-shadow:0 10px 25px #0000004d;position:relative;width:100%;z-index:1001}.modal-content input,.modal-content select{cursor:pointer;pointer-events:auto}.modal-content select{appearance:menulist;cursor:pointer}@media (max-width:768px){.modal-overlay{padding:0}.modal-content{border-radius:0;max-height:100vh;max-width:100%}}.partnerships-management{margin:0 auto;max-width:1200px;padding:20px}.header-actions{gap:16px}.filter-group{align-items:center;gap:8px}.filter-group label{color:#4a5568;font-size:.875rem;font-weight:500}.filter-select{border:1px solid #cbd5e0;padding:8px 32px 8px 12px;transition:border-color .2s}.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.radio-group{display:flex;gap:24px;margin-top:8px}.radio-label{align-items:center;display:flex;font-size:.9375rem;gap:8px}.radio-label,.radio-label input[type=radio]{cursor:pointer}.radio-label span{-webkit-user-select:none;user-select:none}.date-range-group{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.terms-checkboxes{grid-gap:12px;background-color:#f7fafc;border-radius:6px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:8px;max-height:200px;overflow-y:auto;padding:12px}.checkbox-label{gap:8px}.text-muted{color:#718096;font-style:italic}.partnerships-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:24px}.partnership-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:box-shadow .2s,transform .2s}.partnership-card:hover{box-shadow:0 4px 6px #00000026;transform:translateY(-2px)}.partnership-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.partnership-name{color:#2d3748;flex:1 1;font-size:1.125rem;font-weight:600;line-height:1.4;margin:0}.partnership-meta{display:flex;flex-direction:column;font-size:.875rem;gap:6px;margin-bottom:12px}.partnership-type{background-color:#edf2f7;border-radius:12px;color:#4a5568;display:inline-block;font-size:.8125rem;font-weight:500;padding:4px 12px;width:fit-content}.partnership-period{color:#718096;font-size:.875rem}.partnership-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#4a5568;display:-webkit-box;font-size:.9375rem;line-height:1.6;margin:12px 0;overflow:hidden}.partnership-actions{border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px}.partnership-actions .btn{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.partnerships-management{padding:16px}.header-actions{align-items:stretch;flex-direction:column;gap:12px}.filter-group{justify-content:space-between}.date-range-group,.partnerships-grid,.terms-checkboxes{grid-template-columns:1fr}.radio-group{flex-direction:column;gap:12px}}@media (max-width:480px){.partnership-actions{flex-direction:column}.partnership-actions .btn{width:100%}}.workspace-page{margin:0 auto;max-width:1400px;padding:24px}.filters-container{gap:12px}.search-box{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:8px 12px}.search-box:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-select{font-size:14px;min-width:180px;padding:8px 12px}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.text-small{font-size:13px}.font-medium{color:#111827}.btn-icon{background:none;font-size:18px;opacity:.7;padding:4px 8px;transition:opacity .2s}.btn-icon:hover{opacity:1}.btn-icon.btn-danger:hover{color:#ef4444}.page-header-simple{margin-bottom:24px}.back-button{align-items:center;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;margin-bottom:16px;padding:8px 16px;transition:all .2s}.back-button:hover:not(:disabled){background-color:#e5e7eb}.back-button:disabled{cursor:not-allowed;opacity:.5}.form-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:32px}.full-page-form{max-width:800px}.form-row{grid-gap:16px;gap:16px;margin-bottom:20px}.form-section{margin-top:24px;padding-top:24px}.form-section-title{color:#111827;font-size:16px;margin-bottom:16px}@media (max-width:768px){.workspace-page{padding:16px}.filters-container{flex-direction:column}.filter-select,.search-box{width:100%}.form-container{padding:20px}.form-row{grid-template-columns:1fr}}.pitt-dashboard{margin:0 auto;max-width:1200px;padding:2rem}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.dashboard-header h1{color:#333;font-size:2rem;margin:0}.dashboard-filters{border-bottom:2px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:2rem;padding-bottom:1rem}.filter-btn{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:all .2s}.filter-btn:hover{color:#333}.filter-btn.active{border-bottom-color:#4caf50;color:#4caf50;font-weight:600}.loading-state{padding:4rem 2rem;text-align:center}.spinner.large{border-width:4px;height:48px;margin:0 auto 1rem;width:48px}.empty-state{background:#f9f9f9;border:2px dashed #ddd;border-radius:8px}.empty-state h3{color:#666;font-size:1.5rem;margin-bottom:.5rem}.empty-state p{color:#999;margin-bottom:1.5rem}.reports-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.report-card{border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000001a;cursor:pointer}.report-card:hover{box-shadow:0 4px 12px #00000026}.report-header{border-bottom:1px solid #e0e0e0;margin-bottom:1rem;padding-bottom:1rem}.report-header h3{color:#333;flex:1 1;font-size:1.3rem;margin:0}.header-actions{align-items:center;display:flex;gap:.5rem}.btn-delete{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2rem;opacity:.7;padding:.25rem .5rem;transition:all .2s}.btn-delete:hover{background-color:#fee;opacity:1;transform:scale(1.1)}.status-badge{font-size:.85rem;font-weight:600;text-transform:capitalize}.status-badge.status-draft{background:#e0e0e0;color:#616161}.status-badge.status-submitted{background:#bbdefb;color:#1565c0}.status-badge.status-approved{background:#c8e6c9;color:#2e7d32}.status-badge.status-rejected{background:#ffcdd2;color:#c62828}.report-info{color:#666;font-size:.9rem;margin-bottom:.5rem}.report-info strong{color:#333;margin-right:.5rem}.report-metrics{border-top:1px solid #e0e0e0;display:flex;justify-content:space-around;padding-top:1rem}.metric{align-items:center;display:flex;flex-direction:column;gap:.25rem}.metric-value{font-size:1.5rem;font-weight:700}.metric-label{color:#999;font-size:.85rem}@media (max-width:768px){.reports-list{grid-template-columns:1fr}.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem}.dashboard-filters{overflow-x:auto;white-space:nowrap}}.pitt-step-indicator{align-items:center;display:flex;justify-content:space-between;margin-bottom:3rem;padding:0 1rem}.step-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem;position:relative}.step-item.clickable{cursor:pointer}.step-item.disabled{cursor:not-allowed;opacity:.5}.step-circle{align-items:center;background:#e0e0e0;border-radius:50%;color:#757575;display:flex;font-size:1.2rem;font-weight:600;height:50px;justify-content:center;position:relative;transition:all .3s;width:50px;z-index:2}.step-item.active .step-circle{background:#4caf50;color:#fff;transform:scale(1.1)}.step-item.completed .step-circle{background:#4caf50;color:#fff}.check-icon{font-size:1.5rem}.step-label{color:#757575;font-size:.85rem;max-width:120px;text-align:center}.step-item.active .step-label{color:#4caf50;font-weight:600}.step-connector{background:#e0e0e0;height:3px;left:50%;position:absolute;right:-50%;top:25px;z-index:1}.step-connector.completed{background:#4caf50}.step-item:last-child .step-connector{display:none}@media (max-width:768px){.pitt-step-indicator{overflow-x:auto;padding:0 .5rem}.step-label{font-size:.75rem;max-width:80px}.step-circle{font-size:1rem;height:40px;width:40px}}.pitt-step{min-height:500px}.pitt-step h2{color:#333;font-size:1.8rem;margin-bottom:.5rem}.step-description{color:#666;font-size:1rem}.form-section,.step-description{margin-bottom:2rem}.form-group label{color:#333;display:block}.required{color:#f44336}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;max-width:100%;width:100%}.pitt-step .form-group input[type=number]{max-width:300px}.form-group input:focus,.form-group select:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a}.form-group input.error,.form-group select.error{border-color:#f44336}.error-message{color:#f44336;display:block;font-size:.875rem}.metrics-info-box{background:#e3f2fd;border-left:4px solid #2196f3;display:flex;gap:1rem;margin-bottom:2rem;padding:1rem}.info-icon{font-size:1.5rem}.info-content{flex:1 1}.info-content strong{color:#1565c0;display:block;margin-bottom:.5rem}.info-content ul{margin:0;padding-left:1.5rem}.info-content li{color:#424242;margin-bottom:.25rem}.pitt-step .metrics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}@media (min-width:1200px){.pitt-step .metrics-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.pitt-step .metrics-grid{grid-template-columns:1fr}}.pitt-step .metric-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:block;min-width:0;padding:1.5rem}.pitt-step .metric-card label{color:#333;display:block;font-weight:600;margin-bottom:.75rem}.pitt-step .metric-input-group{display:flex;flex-direction:column;gap:.5rem}.pitt-step .metric-input-group input{border:2px solid #ddd;border-radius:4px;font-size:1.5rem;font-weight:600;padding:.75rem;text-align:center}.pitt-step .calculated-badge{background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#666;font-size:.85rem;padding:.5rem;text-align:center}.program-list{display:flex;flex-direction:column;gap:1.5rem}.program-card{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.program-card h3{color:#333;margin-bottom:.5rem;margin-top:0}.program-card .program-description{color:#666;font-size:.9rem;font-style:italic;line-height:1.4;margin-bottom:1rem}.program-metrics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.pitt-step .classroom-list,.pitt-step .partnership-list{display:flex;flex-direction:column;gap:.75rem}.pitt-step .classroom-item,.pitt-step .partnership-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;padding:1rem}.pitt-step .checkbox-label{align-items:flex-start;cursor:pointer;display:flex;gap:1rem}.pitt-step .checkbox-label input[type=checkbox]{flex-shrink:0;margin-top:.25rem;width:auto}.pitt-step .classroom-info,.pitt-step .partnership-info{display:flex;flex:1 1;flex-direction:column}.pitt-step .classroom-info strong,.pitt-step .partnership-info strong{color:#333;display:block;font-size:1.1rem;margin-bottom:.25rem}.pitt-step .classroom-students,.pitt-step .classroom-teacher,.pitt-step .partnership-type{color:#666;display:block;font-size:.9rem;margin-top:.25rem}.pitt-step .partnership-description{color:#555;display:block;font-size:.875rem;font-style:italic;line-height:1.4;margin-top:.5rem}.pitt-step .community-events-list{display:flex;flex-direction:column;gap:.75rem}.pitt-step .event-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;padding:1rem}.pitt-step .event-info{display:flex;flex-direction:column}.pitt-step .event-info strong{color:#333;display:block;font-size:1.1rem;margin-bottom:.5rem}.pitt-step .event-details{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.pitt-step .event-address,.pitt-step .event-date,.pitt-step .event-location{color:#666;font-size:.9rem}.pitt-step .event-address{display:block;margin-top:.25rem}.pitt-review-step .review-section{display:flex;flex-direction:column;gap:1.5rem}.review-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.review-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.review-header h3{color:#333;font-size:1.3rem;margin:0}.review-content{color:#424242}.review-content p{margin:.5rem 0}.review-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.metric-item{background:#fff;border-radius:4px;display:flex;justify-content:space-between;padding:.5rem}.metric-label{font-weight:500}.metric-value{color:#4caf50;font-weight:600}.review-table{border-collapse:collapse;width:100%}.review-table td,.review-table th{border-bottom:1px solid #e0e0e0;padding:.75rem;text-align:left}.review-table th{background:#f5f5f5;font-weight:600}.review-list{list-style:none;margin:0;padding:0}.review-list li{border-bottom:1px solid #e0e0e0;padding:.5rem 0}.review-list li:last-child{border-bottom:none}.empty-state{color:#999;padding:3rem 1rem}.empty-state p{font-size:1.1rem}.step-actions{border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-top:3rem;padding-top:2rem}@media (max-width:768px){.metrics-grid,.program-metrics-grid{grid-template-columns:1fr}.step-actions{flex-direction:column;gap:1rem}.step-actions button{width:100%}}.verification-summary{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.summary-stats{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:1rem}.stat-item{align-items:center;min-width:100px}.stat-value{color:#333;font-size:2rem}.stat-label{color:#666;font-size:.9rem}.bulk-actions{display:flex;gap:.5rem;justify-content:flex-end}.schools-list{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:2rem;overflow:hidden}.school-section{border-bottom:1px solid #e0e0e0}.school-section:last-child{border-bottom:none}.school-header{align-items:center;background:#fafafa;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background .2s}.school-header:hover{background:#f0f0f0}.school-header-left{align-items:center;display:flex;flex:1 1;gap:1rem}.expand-icon{color:#666;font-size:.8rem;min-width:15px}.school-header h3{color:#333;font-size:1.1rem;font-weight:600;margin:0}.school-stats{color:#666;font-size:.9rem;font-weight:400}.school-actions{display:flex;gap:.5rem}.classrooms-list{background:#fff}.classroom-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;padding:1rem 1.5rem;transition:background .2s}.classroom-item:hover{background:#f9f9f9}.classroom-item.selected{background:#e3f2fd}.classroom-item.selected:hover{background:#d1e8f7}.classroom-item:last-child{border-bottom:none}.classroom-checkbox{margin-right:1rem;padding-top:.2rem}.classroom-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.classroom-info{flex:1 1}.classroom-main{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.classroom-teacher{color:#333;font-size:1rem;font-weight:600}.classroom-grade{background:#f5f5f5;color:#666;font-size:.9rem}.classroom-grade,.quality-indicator{border-radius:12px;padding:.25rem .75rem}.quality-indicator{font-size:.85rem;font-weight:500}.quality-complete{background:#e8f5e9;color:#2e7d32}.quality-needs-review{background:#fff3e0;color:#e65100}.quality-incomplete{background:#ffebee;color:#c62828}.classroom-issues{background:#ffebee;border-radius:4px;color:#d32f2f;font-size:.85rem;margin-bottom:.5rem;padding:.5rem}.issues-label{font-weight:600}.classroom-details{color:#666;display:flex;flex-wrap:wrap;font-size:.85rem;gap:1rem}.classroom-details span{align-items:center;display:flex;gap:.25rem}.no-data{color:#999}.loading,.no-data{font-size:1.1rem;padding:3rem;text-align:center}.loading{color:#666}.spinner{border-top-color:#1976d2;margin-right:.5rem;vertical-align:middle}@media (max-width:768px){.summary-stats{gap:1rem}.stat-item{min-width:80px}.school-header{align-items:flex-start;flex-direction:column;gap:1rem}.school-actions{justify-content:flex-end;width:100%}.classroom-main{align-items:flex-start;flex-direction:column;gap:.5rem}}.pitt-form-wizard{margin:0 auto;max-width:1200px;padding:2rem}.pitt-wizard-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.pitt-wizard-header h1{color:#333;font-size:1.8rem;margin:0}.report-id-badge{background:#4caf50;border-radius:4px;color:#fff;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.saving-indicator{align-items:center;color:#666;display:flex;font-size:.9rem;gap:.5rem}.spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;display:inline-block;height:16px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pitt-wizard-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover:not(:disabled){background:#45a049}.btn-secondary{background:#757575;color:#fff}.btn-secondary:hover:not(:disabled){background:#616161}.btn-success{background:#2196f3;color:#fff;font-size:1.1rem;padding:1rem 2rem}.btn-success:hover:not(:disabled){background:#1976d2}.btn-link{background:none;border:none;color:#2196f3;cursor:pointer;font-size:.9rem;padding:.25rem .5rem;text-decoration:underline}.btn-link:hover{color:#1976d2}:root{--manager-primary:#f59e0b;--manager-primary-dark:#d97706;--manager-primary-light:#fbbf24;--manager-accent:#fb923c;--manager-bg:#fffbeb;--manager-bg-light:#fef3c7;--manager-border:#fed7aa;--manager-text:#92400e;--manager-text-light:#b45309}.manager-dashboard-container{background:linear-gradient(135deg,#fffbeb,#fff);min-height:calc(100vh - 60px);padding:2rem}.manager-dashboard-header h1{color:#d97706;color:var(--manager-primary-dark);font-size:2.5rem;font-weight:700}.manager-dashboard .welcome-message{color:#b45309;color:var(--manager-text-light);font-size:1.1rem}.dashboard-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:2.5rem}.stat-card{border:2px solid #fed7aa;border:2px solid var(--manager-border);border-radius:12px;box-shadow:0 2px 8px #f59e0b1a;flex-direction:column;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 16px #f59e0b33;transform:translateY(-4px)}.stat-value{color:var(--manager-primary);font-size:2.5rem;margin-bottom:.5rem}.stat-label{color:#92400e;color:var(--manager-text);font-size:.95rem;font-weight:500;letter-spacing:.5px}.stat-card-warning .stat-value{color:#dc2626}.manager-dashboard .action-card{border:2px solid #e5e7eb;transition:all .2s}.manager-dashboard .action-card:hover:not(.action-card-disabled){border-color:#f59e0b;border-color:var(--manager-primary);box-shadow:0 4px 12px #f59e0b26}.manager-dashboard .action-card-badge{background:#f59e0b;background:var(--manager-primary)}.dashboard-content{display:flex;flex-direction:column;gap:2rem}@media (max-width:768px){.manager-dashboard-container{padding:1rem}.manager-dashboard-header h1{font-size:2rem}.dashboard-stats{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat-value{font-size:2rem}.stat-label{font-size:.85rem}}.manager-dashboard{margin:0 auto;max-width:1400px;padding:2rem}.manager-dashboard-header{margin-bottom:2rem}.manager-dashboard-header h1{color:var(--manager-primary);font-size:2rem;font-weight:600;margin-bottom:.5rem}.welcome-text{color:#6b7280;font-size:1rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:1rem;padding:1.5rem;transition:all .2s ease}.stat-card:hover{border-color:var(--manager-primary);box-shadow:0 4px 6px -1px #f59e0b1a,0 2px 4px -1px #f59e0b0f}.stat-card.highlight{background:linear-gradient(135deg,#fffbeb,#fff);border-color:var(--manager-primary)}.stat-icon{align-items:center;background:var(--manager-bg-light);border-radius:8px;color:var(--manager-primary);display:flex;flex-shrink:0;font-size:1.5rem;height:60px;justify-content:center;width:60px}.stat-card.highlight .stat-icon{background:var(--manager-primary);color:#fff}.stat-content h3{color:#111827;font-size:1.875rem;font-weight:700;line-height:1;margin:0}.stat-content p{color:#6b7280;font-size:.875rem;margin:.25rem 0 0}.action-cards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.manager-dashboard-error{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin:2rem;padding:3rem;text-align:center}.manager-dashboard-error h2{color:#dc2626;margin-bottom:1rem}.manager-dashboard-error p{color:#6b7280;margin-bottom:1.5rem}@media (max-width:768px){.manager-dashboard{padding:1rem}.manager-dashboard-header h1{font-size:1.5rem}.action-cards-grid,.stats-grid{gap:1rem;grid-template-columns:1fr}.stat-card{padding:1rem}.stat-icon{font-size:1.25rem;height:50px;width:50px}.stat-content h3{font-size:1.5rem}}.user-delete-dialog{max-width:500px}.user-delete-dialog .warning-message{color:var(--text-primary);font-size:1rem;margin-bottom:1.5rem}.user-delete-dialog .warning-message strong{color:var(--danger)}.volunteer-options{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:1.5rem;padding:1rem}.info-box{align-items:flex-start;background-color:var(--info-light);border-left:3px solid var(--info);border-radius:4px;display:flex;gap:.75rem;margin-bottom:1rem;padding:.75rem}.info-icon{flex-shrink:0;font-size:1.2rem}.info-box p{color:var(--text-secondary);font-size:.9rem;margin:0}.checkbox-group{margin-top:1rem}.checkbox-label{font-weight:500;margin-bottom:.5rem}.checkbox-label input[type=checkbox]{height:18px;width:18px}.checkbox-label span{font-size:.95rem;-webkit-user-select:none;user-select:none}.help-text{background-color:var(--bg-tertiary);border-radius:4px;color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:.5rem 0 0 1.75rem;padding:.5rem}.user-delete-dialog .modal-actions .btn{display:inline-block!important;opacity:1!important;visibility:visible!important}.user-delete-dialog .modal-actions .btn-danger{background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.625rem 1.25rem;transition:background-color .2s}.user-delete-dialog .modal-actions .btn-danger:hover{background-color:#c82333}.user-delete-dialog .modal-actions .btn-secondary{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#212529;cursor:pointer;font-weight:500;padding:.625rem 1.25rem;transition:all .2s}.user-delete-dialog .modal-actions .btn-secondary:hover{background-color:#e9ecef;border-color:#adb5bd}.manager-container{margin:0 auto;max-width:1400px;padding:2rem}.manager-container .dashboard-section-content{display:block}.manager-page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.manager-page-header h1{color:var(--manager-primary);font-size:1.875rem;font-weight:600;margin:0}.manager-page-header .subtitle{color:#6b7280;font-size:.875rem;margin-top:.25rem}.manager-filters-bar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;width:100%}.manager-search-box{align-items:center;display:flex;flex:1 1 250px;max-width:400px;min-width:250px;position:relative}.manager-search-box input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.875rem;padding:.75rem 1rem .75rem 2.5rem;transition:all .2s ease;width:100%}.manager-search-box input:focus{border-color:var(--manager-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.manager-search-icon{color:#9ca3af;font-size:1.25rem;left:1rem;pointer-events:none;position:absolute}.manager-filter-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;cursor:pointer;flex:0 1 auto;font-size:.875rem;max-width:200px;min-width:150px;padding:.75rem 1rem;transition:all .2s ease;white-space:nowrap}.manager-filter-select:focus{border-color:var(--manager-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.manager-filter-select:hover{border-color:#9ca3af}.manager-filters-bar .btn-secondary{padding:.75rem 1.5rem;white-space:nowrap}.manager-btn{font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s ease}.manager-btn:hover{box-shadow:0 4px 6px -1px #f59e0b4d;transform:translateY(-1px)}.manager-btn:active{transform:translateY(0)}.manager-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.manager-data-table{border-collapse:collapse;width:100%}.manager-data-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.manager-data-table th{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.manager-data-table td{border-bottom:1px solid #e5e7eb;font-size:.875rem;padding:1rem}.manager-data-table tbody tr:hover{background:#f9fafb}.manager-data-table tbody tr:last-child td{border-bottom:none}.manager-status-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.manager-status-badge.active{background:#d1fae5;color:#065f46}.manager-status-badge.inactive{background:#fee2e2;color:#991b1b}.manager-status-badge.pending{background:#fef3c7;color:#92400e}.manager-status-badge.approved{background:#dbeafe;color:#1e40af}.manager-status-badge.rejected{background:#fee2e2;color:#991b1b}.manager-empty-state{color:#6b7280;padding:3rem 1rem;text-align:center}.manager-empty-state h3{color:#374151;font-size:1.125rem;font-weight:500;margin:1rem 0 .5rem}.manager-empty-state p{font-size:.875rem;margin:0}.manager-container .loading-spinner{padding:3rem}@media (max-width:768px){.manager-container{padding:1rem}.manager-page-header{align-items:flex-start;flex-direction:column;gap:1rem}.manager-filters-bar{align-items:stretch;flex-direction:column}.manager-search-box{max-width:100%}.manager-filter-select{width:100%}.manager-data-table{font-size:.75rem}.manager-data-table td,.manager-data-table th{padding:.5rem}}@media print{.manager-filters-bar,.manager-page-header button{display:none}.manager-container{padding:0}}.user-list-container{margin:0 auto;max-width:1400px;padding:2rem}.user-list-container .dashboard-section-content{display:block}.page-header{align-items:center;display:flex;justify-content:space-between}.page-header h1{margin:0}.manager-btn{background:var(--manager-primary);border-color:var(--manager-primary)}.manager-btn:hover{background:var(--manager-hover);border-color:var(--manager-hover)}.table-container{background:#fff;border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.data-table th{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.data-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s ease}.data-table tbody tr:hover{background:#f9fafb}.data-table td{color:#111827;font-size:.875rem;padding:1rem}.badge,.user-name{font-weight:500}.badge{border-radius:9999px;display:inline-block;font-size:.75rem;padding:.25rem .75rem;text-transform:capitalize}.badge-admin{background:#fef3c7;color:#92400e}.badge-manager{background:var(--manager-bg-light);color:#92400e}.badge-workspace{background:#dbeafe;color:#1e40af}.badge-default{background:#e5e7eb;color:#374151}.status-indicator{align-items:center;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem}.status-indicator:before{border-radius:50%;content:"";height:8px;width:8px}.status-indicator.active:before{background:#10b981}.status-indicator.deleted:before{background:#ef4444}.action-buttons{gap:.5rem}.btn-icon{background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .2s ease}.btn-icon:hover{background:#f3f4f6;color:var(--manager-primary)}.btn-icon.btn-danger:hover{background:#fee2e2;color:#dc2626}.empty-state{padding:3rem}.empty-state i{font-size:3rem}@media (max-width:768px){.user-list-container{padding:1rem}.page-header{align-items:flex-start;gap:1rem}.filters-bar,.page-header{flex-direction:column}.search-box{min-width:100%}.table-container{overflow-x:auto}.data-table{min-width:800px}}.user-form-container{margin:0 auto;max-width:900px;padding:2rem}.user-form{background:#fff}.form-row{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.form-row:last-child{margin-bottom:0}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.75rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus{border-color:var(--manager-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.form-group input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.form-help{color:#6b7280}.error-message,.form-help{font-size:.75rem;margin-top:.25rem}.error-message{color:#dc2626}.form-group input.error,.form-group select.error{border-color:#dc2626}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.form-actions button{min-width:120px}.volunteer-details-section{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;margin-top:1rem;padding:1.5rem}.form-section-header{border-bottom:2px solid #d1d5db;margin-bottom:1.5rem;padding-bottom:1rem}.form-section-header h3{color:#111827;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.form-section-description{color:#6b7280;font-size:.875rem;margin:0}.form-subsection{border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem;padding-bottom:1.5rem}.form-subsection:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-subsection h4{color:#374151;font-size:1rem;font-weight:600;margin-bottom:1rem}.checkbox-group{margin:1rem 0}.checkbox-label{-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{height:auto;margin:0;width:auto}.checkbox-label span{color:#111827;font-weight:500}.disabled-input{background-color:#f3f4f6!important;cursor:not-allowed;opacity:.7}@media (max-width:768px){.user-form-container{padding:1rem}.form-row{gap:1rem;grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}}.pitt-review-modal{max-height:90vh;max-width:700px;overflow-y:auto}.info-section{border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem;padding-bottom:1.5rem}.info-section:last-child{border-bottom:none}.info-section h3{color:#111827;font-size:1rem;font-weight:600;margin:0 0 1rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{color:#6b7280;font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.info-value{color:#111827;font-size:.875rem;font-weight:500}.notes-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#374151;font-size:.875rem;line-height:1.6;padding:1rem;white-space:pre-wrap}.comments-textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.875rem;padding:.75rem;resize:vertical;transition:all .2s ease;width:100%}.comments-textarea:focus{border-color:var(--manager-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.comments-textarea:disabled{background:#f3f4f6;cursor:not-allowed}.modal-footer{align-items:center;display:flex;gap:1rem;justify-content:space-between}.action-buttons{display:flex;gap:.75rem}.btn-approve{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.btn-approve:hover:not(:disabled){background:#059669;box-shadow:0 4px 6px -1px #10b98133;transform:translateY(-1px)}.btn-approve:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-reject{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.btn-reject:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 6px -1px #ef444433;transform:translateY(-1px)}.btn-reject:disabled{cursor:not-allowed;opacity:.6;transform:none}.required{color:#dc2626;font-weight:600}@media (max-width:768px){.pitt-review-modal{max-width:95vw}.info-grid{grid-template-columns:1fr}.action-buttons,.modal-footer{flex-direction:column}.action-buttons{width:100%}.btn-approve,.btn-reject{justify-content:center;width:100%}}.pitt-approval-container{margin:0 auto;max-width:1400px;padding:2rem}.pitt-approval-container .dashboard-section-content{display:block}.page-header{margin-bottom:2rem}.page-header h1{color:var(--manager-primary);font-size:1.875rem;font-weight:600;margin:0 0 .5rem}.subtitle{color:#6b7280;font-size:1rem;margin:0}.search-bar{display:flex;gap:1rem}.search-bar .search-box{flex:1 1}.reports-container{margin-bottom:1.5rem}.reports-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.report-card{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s ease}.report-card:hover{border-color:var(--manager-primary);box-shadow:0 4px 6px -1px #f59e0b1a,0 2px 4px -1px #f59e0b0f}.report-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.25rem}.report-info h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.report-meta{display:flex;flex-direction:column;gap:.25rem}.meta-item{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem}.meta-item i{color:#9ca3af;width:14px}.status-badge{padding:.375rem .75rem}.status-badge.pending{background:var(--manager-bg-light);color:#92400e}.report-body{padding:1.25rem}.report-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.detail-row{align-items:center;display:flex;font-size:.875rem;justify-content:space-between}.detail-label{color:#6b7280;font-weight:500}.detail-value{color:#111827;font-weight:500}.report-notes{background:#f9fafb;border-radius:6px;margin-top:1rem;padding:1rem}.report-notes strong{color:#374151;display:block;font-size:.875rem;margin-bottom:.5rem}.report-notes p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.report-actions{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;padding:1rem 1.25rem}.report-actions button{min-width:120px}.empty-state{padding:4rem 2rem}.empty-state i{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:#6b7280;font-size:1.25rem;margin:0 0 .5rem}.empty-state p{font-size:1rem;margin:0}@media (max-width:768px){.pitt-approval-container{padding:1rem}.reports-grid{grid-template-columns:1fr}.report-header{flex-direction:column;gap:1rem}.status-badge{align-self:flex-start}}.chapter-list-container{margin:0 auto;max-width:1400px;padding:2rem}.page-header-actions{align-items:center;display:flex;gap:.75rem}.chapter-list-container .dashboard-section-content{display:block}.filters-bar{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.filters-bar,.search-box{align-items:center;display:flex}.search-box{font-size:1.25rem}.search-box input{flex:1 1;padding:.75rem 1rem .75rem 2.5rem}.search-box input:focus{border-color:var(--manager-primary)}.filter-select{background:#fff;white-space:nowrap}.filter-select:focus{border-color:var(--manager-primary)}.filters-bar .btn-secondary{padding:.75rem 1.5rem;white-space:nowrap}.chapters-container{margin-bottom:1.5rem}.chapters-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.chapter-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s ease}.chapter-card:hover{border-color:var(--manager-primary);box-shadow:0 4px 6px -1px #f59e0b1a,0 2px 4px -1px #f59e0b0f}.chapter-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.25rem}.chapter-header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.status-badge{border-radius:9999px;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.status-badge.deleted{background:#e5e7eb;color:#6b7280}.chapter-card.deleted-chapter{background-color:#f9fafb;border:2px dashed #9ca3af;opacity:.7}.chapter-body{padding:1.25rem}.chapter-info{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.75rem;margin-bottom:.75rem}.chapter-info i{color:var(--manager-primary);width:16px}.chapter-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.875rem;line-height:1.5;margin:1rem 0;overflow:hidden}.chapter-stats{grid-gap:1rem;border-top:1px solid #e5e7eb;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-top:1rem;padding-top:1rem}.stat{text-align:center}.stat-number{color:var(--manager-primary);display:block;font-size:1.5rem;font-weight:700;line-height:1}.stat-label{display:block;font-size:.75rem;letter-spacing:.05em;margin-top:.25rem;text-transform:uppercase}.chapter-actions{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;padding:1rem 1.25rem}.btn-small{align-items:center;border:1px solid;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem 1rem;transition:all .2s ease}.btn-small.btn-warning{background:#fef3c7;border-color:#fbbf24;color:#92400e}.btn-small.btn-warning:hover{background:#fde68a}.btn-small.btn-success{background:#d1fae5;border-color:#10b981;color:#065f46}.btn-small.btn-success:hover{background:#a7f3d0}@media (max-width:768px){.chapter-list-container{padding:1rem}.chapters-grid{grid-template-columns:1fr}.chapter-actions{flex-direction:column}}.chapter-form-container{margin:0 auto;max-width:900px;padding:2rem}.chapter-form{background:#fff}.form-section h3{color:#111827;font-size:1.125rem;font-weight:600;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-group label{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.875rem;padding:.75rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--manager-primary);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.form-group textarea{min-height:100px;resize:vertical}@media (max-width:768px){.chapter-form-container{padding:1rem}.form-actions{flex-direction:column}.form-actions button{width:100%}}.chapter-create-form-container{padding:0}.chapter-create-form{background:#fff}.form-section{border-bottom:1px solid #e5e7eb;padding:1.5rem 0}.form-section:last-child{border-bottom:none}.form-section-title{color:#1f2937;font-size:1.125rem;margin-bottom:.5rem}.form-help-text{display:block;font-size:.875rem}.form-help-text,.form-row{margin-bottom:1rem}.university-search-container{margin-bottom:1.5rem;position:relative}.search-box{width:100%}.search-input{padding:.75rem 3rem .75rem 1rem}.search-input:focus{border-color:var(--manager-primary)}.search-spinner{position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.search-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.search-result-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:.75rem 1rem;transition:background-color .15s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:#fef3c7}.result-name{color:#1f2937;font-weight:500;margin-bottom:.25rem}.result-location{color:#6b7280;font-size:.875rem}.search-dropdown .empty-state{padding:2rem 1rem}@media (max-width:768px){.form-row{grid-template-columns:1fr}.search-dropdown{max-height:300px}}.text-truncate{max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-muted{font-size:.875rem}.empty-state{color:#9ca3af;padding:2rem;text-align:center}.actions-cell{white-space:nowrap}.btn-small{margin-right:.5rem}.btn-small:last-child{margin-right:0}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-close:hover{background-color:#f3f4f6;color:#111827}.modal-close:disabled{cursor:not-allowed;opacity:.5}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.form-group{margin-bottom:1.25rem}.form-label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-label.required:after{color:#ef4444;content:" *"}.form-input,.form-select,.form-textarea{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.625rem .75rem;transition:all .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#f59e0b;border-color:var(--manager-primary,#f59e0b);box-shadow:0 0 0 3px #f59e0b1a;outline:none}.form-input.error,.form-select.error,.form-textarea.error{border-color:#ef4444}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:#f3f4f6;cursor:not-allowed}.form-textarea{min-height:100px;resize:vertical}.checkbox-label{font-size:.875rem}.checkbox-label input[type=checkbox]{cursor:pointer;height:1rem;width:1rem}.form-help-text{color:#6b7280}.error-text,.form-help-text{font-size:.75rem;margin-top:.25rem}.error-text{color:#ef4444;display:block}.alert{border-radius:6px;font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem}.alert-error{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b}.text-small{font-size:.75rem}.text-muted{color:#6b7280}.form-section-title{margin:1.5rem 0 1rem}.filters-container{display:contents}.search-box input{box-sizing:border-box}.checkbox-filter{align-items:center;cursor:pointer;display:flex;gap:.5rem;-webkit-user-select:none;user-select:none;white-space:nowrap}.checkbox-filter input{cursor:pointer}.row-deleted{background-color:#f9fafb;opacity:.6}.badge-deleted{background-color:#e5e7eb;color:#6b7280}@media (max-width:768px){.form-row{grid-template-columns:1fr}.modal-large{max-width:95%}.filters-container{align-items:stretch;flex-direction:column}.search-box{min-width:100%}.filter-select{width:100%}}.term-type-badge{border-radius:.375rem;display:inline-block;font-size:.875rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.term-type-badge.semester{background-color:#dbeafe;color:#1e40af}.term-type-badge.quarter{background-color:#fce7f3;color:#be185d}.filters-container{margin-bottom:1.5rem}.filter-select,.search-box input{border-radius:.375rem}.filter-select{padding:.5rem 2rem .5rem .75rem}@media (max-width:768px){.form-row{grid-template-columns:1fr}.filters-container{align-items:stretch;flex-direction:column}.search-box{min-width:100%}.filter-select{width:100%}}.filters-grid{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:2fr repeat(4,1fr)}.schedule-cell{color:#6b7280;font-size:.75rem}.text-center{text-align:center}.font-medium{font-weight:500}.text-small{color:#6b7280;font-size:.875rem}.modal-large{max-width:900px}.form-section{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:1.5rem}.form-section-title{margin-bottom:1rem}.required-indicator{color:#ef4444;font-weight:600}.schedule-manager{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.schedule-list{margin-bottom:1.5rem}.schedule-table{background-color:#fff;border-collapse:collapse;border-radius:.375rem;font-size:.875rem;overflow:hidden;width:100%}.schedule-table thead{background-color:#f3f4f6}.schedule-table th{border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:.75rem;text-align:left}.schedule-table td{border-bottom:1px solid #f3f4f6;padding:.75rem}.schedule-table tbody tr:hover{background-color:#f9fafb}.notes-cell{color:#6b7280;font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-add-form{background-color:#fff;border:1px dashed #d1d5db;border-radius:.375rem;padding:1.25rem}.schedule-add-form h4{color:#374151;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.schedule-form-grid{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:1.5fr 1fr 1fr 2fr auto}.form-group-notes{min-width:0}.form-group-button{align-items:flex-end;display:flex}.btn-add-slot{min-width:120px;padding:.625rem 1rem;white-space:nowrap}.schedule-error{display:block;font-size:.875rem;margin-top:.75rem}@media (max-width:1200px){.schedule-form-grid{grid-template-columns:1fr 1fr}.form-group-notes{grid-column:span 2}.form-group-button{grid-column:span 2;justify-content:flex-start}.btn-add-slot{width:100%}}@media (max-width:768px){.filters-grid,.form-row{grid-template-columns:1fr}.modal-large{max-width:95%}.schedule-form-grid{grid-template-columns:1fr}.form-group-button,.form-group-notes{grid-column:span 1}.schedule-table{font-size:.75rem}.schedule-table td,.schedule-table th{padding:.5rem}}.history-values{display:flex;flex-direction:column;gap:.25rem}.history-values div{font-size:.875rem}.date-filter,.date-filter label{display:flex;flex-direction:column;gap:.25rem}.date-filter label{color:#555;font-size:.875rem;font-weight:500}.date-filter input[type=date]{border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem}.date-filter input[type=date]:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}@media (max-width:768px){.filters-container{flex-direction:column}.date-filter{width:100%}}.volunteers-list{padding:2rem}.roles-badges{display:flex;flex-wrap:wrap;gap:.5rem}.volunteer-info{background:#f9fafb;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.volunteer-info h3{color:#111827;font-size:1.25rem;margin:0 0 .5rem}.volunteer-info p{margin:.25rem 0}.form-section{margin-bottom:1.5rem}.assigned-roles{display:flex;flex-wrap:wrap;gap:.5rem}.role-badge{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;display:inline-flex;font-size:.875rem;gap:.5rem;padding:.5rem .75rem}.remove-role-btn{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.25rem;line-height:1;margin-left:.25rem;padding:0;transition:color .2s}.remove-role-btn:hover:not(:disabled){color:#991b1b}.remove-role-btn:disabled{cursor:not-allowed;opacity:.5}.add-role-container{display:flex;gap:.75rem}.add-role-container .form-input{flex:1 1}.add-role-container .btn-small{flex-shrink:0}.filters-container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.search-box{min-width:200px;position:relative}.search-box input{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.5rem 1rem .5rem 2.5rem;width:100%}.search-box input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.filter-select{font-size:.875rem;padding:.5rem 1rem}.form-section-divider{color:#6b7280;font-weight:500;margin:1.5rem 0;position:relative;text-align:center}.form-section-divider:after,.form-section-divider:before{background-color:#d1d5db;content:"";height:1px;position:absolute;top:50%;width:45%}.form-section-divider:before{left:0}.form-section-divider:after{right:0}@media (max-width:768px){.filters-container{flex-direction:column}.filter-select,.search-box{width:100%}}.comment-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compatibility-details{border-top:1px solid #0000001a;margin-top:.5rem;padding-top:.5rem}.alert-success{background-color:#d1fae5;border-color:#6ee7b7;color:#065f46}.alert-warning{background-color:#fef3c7;border-color:#fcd34d;color:#92400e}@media (max-width:768px){.form-row{grid-template-columns:1fr}.modal-large{max-width:95%}.comment-cell{max-width:150px}}.form-section-title{border-bottom:1px solid #e5e7eb;color:#374151;font-size:1rem;font-weight:600;margin:1.5rem 0 .5rem;padding-bottom:.5rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:768px){.form-row{grid-template-columns:1fr}.modal-large{max-width:95%}}.partnerships-list-container{padding:0}.partnerships-list-container .dashboard-section-content{display:block}.section-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:1.5rem}.filters-row,.section-header{align-items:center;display:flex;gap:1rem}.filters-row{flex:1 1;flex-wrap:wrap}.search-box{flex:1 1;max-width:400px;min-width:250px}.search-input{border:1px solid #d1d5db;border-radius:6px;font-size:.9375rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.search-input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.filter-select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.9375rem;min-width:150px;padding:.75rem 1rem;transition:all .2s ease}.filter-select:hover{border-color:#a0aec0}.filter-select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.section-header .btn-primary{border-radius:6px;font-size:.9375rem;font-weight:500;padding:.75rem 1.5rem;white-space:nowrap}.partnership-description{color:#666;font-size:.875rem;font-style:italic;margin-top:.25rem}.status-badge{border-radius:12px;display:inline-block;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.status-active{background-color:#dcfce7;color:#166534}.status-inactive{background-color:#fee2e2;color:#991b1b}.partnership-form .form-section{margin-bottom:2rem}.partnership-form .form-section-title{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:1.125rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.partnership-form .form-help-text{color:#6b7280;display:block;font-size:.875rem;margin-bottom:.5rem;margin-top:.5rem}.partnership-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.partnership-form textarea{min-height:100px;resize:vertical}.time-period-type-selector{margin-bottom:1rem}.terms-selection{margin-top:1rem}.terms-checkbox-grid{grid-gap:.75rem;background-color:#f7fafc;border-radius:6px;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:1rem;max-height:200px;overflow-y:auto;padding:1rem}.checkbox-label{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:.9375rem;gap:.5rem;padding:.5rem;transition:background-color .2s}.checkbox-label:hover{background-color:#edf2f7}.checkbox-label input[type=checkbox],.checkbox-label input[type=radio]{cursor:pointer;margin:0;width:auto}.checkbox-label span,.radio-label span{-webkit-user-select:none;user-select:none}.modal-large{max-width:800px}.modal-body{padding:1.5rem}@media (max-width:768px){.section-header{align-items:stretch;flex-direction:column}.search-box{max-width:none;min-width:auto}.filter-select,.section-header .btn-primary{width:100%}.partnership-form .form-row,.terms-checkbox-grid{grid-template-columns:1fr}.terms-checkbox-grid{max-height:150px}.modal-large{margin:1rem;max-width:95%}.modal-body{padding:1rem}}.roles-titles-container{padding:0}.tabs-container{border-bottom:2px solid #e5e7eb;display:flex;gap:.5rem;margin-bottom:1.5rem}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.tab-button:hover{background-color:#fef3c7;color:#f59e0b}.tab-button.active{border-bottom-color:#f59e0b;color:#f59e0b}.search-bar{margin-bottom:1.5rem}.search-bar .search-input{max-width:400px;width:100%}.items-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:1.5rem}.item-card{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:1.25rem;transition:all .2s}.item-card:hover{border-color:#f59e0b;box-shadow:0 4px 6px -1px #f59e0b1a}.item-content{flex:1 1}.item-name{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.item-meta{color:#6b7280;display:flex;flex-direction:column;font-size:.875rem;gap:.25rem}.item-actions{display:flex;gap:.5rem;margin-left:1rem}.simple-form{padding:1rem 0}.simple-form .form-group{margin-bottom:1.5rem}.simple-form .form-help-text{color:#6b7280;display:block;font-size:.875rem;margin-top:.25rem}.modal-small{max-width:500px}@media (max-width:768px){.items-grid{grid-template-columns:1fr}.tabs-container{flex-direction:column;gap:0}.tab-button{border-bottom:1px solid #e5e7eb;border-left:3px solid #0000}.tab-button.active{border-bottom-color:#e5e7eb;border-left-color:#f59e0b}.modal-small{max-width:95%}}.analytics-dashboard{padding:0}.analytics-controls{align-items:flex-end;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.analytics-controls .filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.analytics-controls label{color:#374151;font-size:.875rem;font-weight:600}.filter-input,.filter-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.9375rem;padding:.625rem .875rem;transition:border-color .2s}.filter-input:focus,.filter-select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.btn-clear-filters{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280}.btn-clear-filters,.btn-export-csv{align-self:flex-end;cursor:pointer;font-size:.9375rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s}.btn-export-csv{background:#10b981;border:1px solid #059669;border-radius:6px;color:#fff;margin-left:auto}.btn-export-csv:hover{background:#059669;box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.btn-clear-filters:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.metrics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.metric-card{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;display:flex;gap:1rem;padding:1.5rem;transition:all .2s}.metric-card:hover{border-color:#f59e0b;box-shadow:0 4px 6px -1px #f59e0b1a;transform:translateY(-2px)}.metric-card.highlight{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.metric-icon{flex-shrink:0;font-size:2.5rem}.metric-content h3{color:#1f2937;font-size:2rem;font-weight:700;margin:0 0 .25rem}.metric-content p{color:#6b7280;font-size:.9375rem;font-weight:600;margin:0}.metric-detail{color:#9ca3af;display:block;font-size:.875rem;margin-top:.25rem}.analytics-section{border-top:2px solid #e5e7eb;margin-top:3rem;padding-top:2rem}.analytics-section h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.chapter-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.chapter-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.chapter-stat-card h3{border-bottom:2px solid #fde68a;color:#f59e0b;font-size:1.125rem;font-weight:600;margin:0 0 1rem;padding-bottom:.75rem}.chapter-metrics{display:flex;flex-direction:column;gap:.75rem}.chapter-metric{align-items:center;background:#f9fafb;border-radius:4px;display:flex;justify-content:space-between;padding:.5rem}.chapter-metric .label{color:#6b7280;font-size:.9375rem}.chapter-metric .value{color:#1f2937;font-size:1.125rem;font-weight:700}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{background:#f9fafb;border-left:4px solid #f59e0b;border-radius:4px;display:flex;gap:1rem;padding:1rem}.activity-icon{flex-shrink:0;font-size:1.5rem}.activity-content{flex:1 1}.activity-description{color:#374151;font-size:.9375rem;margin:0 0 .25rem}.activity-time{color:#9ca3af;font-size:.875rem}.term-comparison{overflow-x:auto}.comparison-table{border-collapse:collapse;font-size:.9375rem;width:100%}.comparison-table thead{background:#f59e0b;color:#fff}.comparison-table td,.comparison-table th{border-bottom:1px solid #e5e7eb;padding:1rem;text-align:left}.comparison-table th{font-weight:600}.comparison-table tbody tr:hover{background:#fef3c7}.quick-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem}.stat-label{color:#6b7280;font-size:.9375rem}.stat-value{color:#f59e0b;font-size:1.5rem;font-weight:700}@media (max-width:1024px){.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.chapter-stats-grid{grid-template-columns:1fr}}@media (max-width:768px){.metrics-grid{grid-template-columns:1fr}.metric-card{flex-direction:column;text-align:center}.quick-stats{grid-template-columns:1fr}.comparison-table{font-size:.875rem}.comparison-table td,.comparison-table th{padding:.75rem .5rem}}.reports-page{padding:0}.reports-filters{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.reports-filters h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.filter-help{color:#6b7280;font-size:.9375rem;margin:0 0 1.5rem}.filter-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:#374151;font-size:.9375rem;font-weight:600}.filter-group select{border:1px solid #d1d5db;border-radius:6px;font-size:.9375rem;padding:.75rem}.reports-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:2rem}.report-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .2s}.report-card:hover{border-color:#f59e0b;box-shadow:0 4px 6px -1px #f59e0b1a;transform:translateY(-2px)}.report-icon{font-size:2.5rem;text-align:center}.report-content h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .5rem;text-align:center}.report-content p{color:#6b7280;font-size:.9375rem;line-height:1.5;margin:0;text-align:center}.report-card .btn-primary{margin-top:auto;width:100%}.report-card .btn-primary:disabled{cursor:not-allowed;opacity:.6}.export-info{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:4px;margin-top:2rem;padding:1.5rem}.export-info h3{color:#92400e;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.export-info ul{list-style:none;margin:0;padding:0}.export-info li{color:#92400e;font-size:.9375rem;padding:.5rem 0 .5rem 1.5rem;position:relative}.export-info li:before{color:#f59e0b;content:"✓";font-weight:700;left:0;position:absolute}@media (max-width:768px){.filter-row,.reports-grid{grid-template-columns:1fr}}.test-page{background:var(--color-gray-50);margin:0 auto;max-width:1400px;min-height:100vh}.test-header,.test-page{padding:var(--spacing-xl)}.test-header{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-2xl);text-align:center}.test-header h1{color:var(--color-gray-900);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.test-header p{color:var(--color-gray-600);font-size:var(--font-size-lg)}.test-section{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.test-section h2{border-bottom:2px solid var(--color-gray-200);color:var(--color-gray-900);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.badge-examples{display:flex;flex-direction:column;gap:var(--spacing-lg)}.example{background:var(--color-gray-50);border-radius:var(--radius-md);padding:var(--spacing-md)}.example h3{color:var(--color-gray-700);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md)}.badge-group{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.selector-container{margin-top:var(--spacing-lg)}.instructions{color:var(--color-gray-700);line-height:var(--line-height-relaxed)}.instructions h3{color:var(--color-gray-900);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);margin-top:var(--spacing-lg)}.instructions ul{margin-bottom:var(--spacing-lg);margin-left:var(--spacing-lg)}.instructions li{margin-bottom:var(--spacing-sm)}.instructions strong{color:var(--color-gray-900);font-weight:var(--font-weight-semibold)}@media (max-width:768px){.test-page,.test-section{padding:var(--spacing-md)}.test-header h1{font-size:var(--font-size-xl)}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.fcc2ca99.css.map*/