@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--color-primary:#5f0a0c;--color-primary-rgb:95, 10, 12;--color-primary-light:#7a1518;--color-accent:#f5ba1d;--color-accent-rgb:245, 186, 29;--color-accent-hover:#e0a716;--color-background:#f8f7f5;--color-surface:#fff;--color-text:#2d3748;--color-text-light:#718096;--color-border:#5f0a0c1a;--color-border-light:#0000000d;--shadow-sm:0 4px 6px -1px #5f0a0c0d, 0 2px 4px -1px #5f0a0c08;--shadow-md:0 10px 15px -3px #5f0a0c14, 0 4px 6px -2px #5f0a0c0a;--shadow-lg:0 20px 25px -5px #5f0a0c1a, 0 10px 10px -5px #5f0a0c0a;--radius-md:.5rem;--radius-lg:1rem;--radius-xl:1.5rem}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}.bg-pattern{background-image:radial-gradient(circle at 15%,#5f0a0c0a,#0000 25%),radial-gradient(circle at 85% 30%,#f5ba1d0f,#0000 25%);background-attachment:fixed}.glass-panel{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#ffffffd9;border:1px solid #ffffffe6;transition:transform .3s,box-shadow .3s}.glass-panel:hover{box-shadow:var(--shadow-lg)}.glass-header{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);background:#ffffffe6}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 4px 10px #5f0a0c33}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-light);transform:translateY(-1px);box-shadow:0 6px 15px #5f0a0c4d}.btn-accent{background-color:var(--color-accent);color:var(--color-primary);box-shadow:0 4px 10px #f5ba1d33}.btn-accent:hover:not(:disabled){background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 6px 15px #f5ba1d4d}.btn-outline{color:var(--color-primary);border:1.5px solid var(--color-primary);background-color:#0000}.btn-outline:hover:not(:disabled){background-color:#5f0a0c0d}.btn-ghost{color:var(--color-text);background-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--color-primary);background-color:#0000000d}.form-group{margin-bottom:1.25rem}.form-label{color:var(--color-text);margin-bottom:.5rem;font-size:.95rem;font-weight:500;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);background-color:#ffffffe6;padding:.75rem 1rem;font-family:Outfit,sans-serif;font-size:1rem;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-accent);background-color:#fff;outline:none;box-shadow:0 0 0 3px #f5ba1d26}h1,h2,h3,h4,h5,h6{color:var(--color-primary);font-weight:700;line-height:1.2}.badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-submitted{color:#4a5568;background-color:#e2e8f0}.badge-pending{color:#975a16;background-color:#fefcbf}.badge-process{color:#2b6cb0;background-color:#ebf4ff}.badge-ready{color:#22543d;background-color:#c6f6d5}.badge-completed{background-color:var(--color-primary);color:#fff}.badge-rejected{color:#9b2c2c;background-color:#fed7d7}.data-table-container{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);background:#fff;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{color:var(--color-primary);border-bottom:2px solid var(--color-border);text-transform:uppercase;letter-spacing:.05em;background-color:#5f0a0c08;padding:1rem 1.5rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border-light);vertical-align:middle;padding:1rem 1.5rem}.data-table tbody tr{transition:background-color .2s}.data-table tbody tr:hover{background-color:#f5ba1d0a}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.page-container{max-width:1200px;margin:0 auto;padding:2rem}.app-layout{min-height:100vh;display:flex}.main-content{background-color:var(--color-background);flex:1;margin-left:260px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.w-full{width:100%}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.text-center{text-align:center}.text-error{color:#e53e3e}.text-success{color:#38a169}.text-light{color:var(--color-text-light)}.flex-responsive{justify-content:space-between;align-items:center;gap:1rem;display:flex}.filters-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.toast-container{z-index:9999;flex-direction:column;gap:12px;display:flex;position:fixed;top:24px;right:24px}.toast{border-left:4px solid var(--accent);background:#fff;border-radius:8px;align-items:center;min-width:300px;max-width:400px;padding:16px;animation:.3s cubic-bezier(.175,.885,.32,1.275) toastSlideIn;display:flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.toast-success{border-left-color:#10b981}.toast-error{border-left-color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-icon{margin-right:12px;font-size:1.2rem;font-weight:700}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#ef4444}.toast-warning .toast-icon{color:#f59e0b}.toast-info .toast-icon{color:#3b82f6}.toast-message{color:var(--text-dark);flex:1;margin:0;font-size:.95rem}.toast-close{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:0 0 0 12px;font-size:1.5rem;transition:color .2s}.toast-close:hover{color:var(--text-dark)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px;display:grid}.stat-card{text-align:center;border:1px solid var(--glass-border);background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 6px #0000000d}.stat-card h3{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:.9rem}.stat-card .stat-value{color:var(--primary);margin:0;font-size:2rem;font-weight:700}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;animation:.3s cubic-bezier(.175,.885,.32,1.275) modalPop;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}@keyframes modalPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (width<=768px){.page-container{padding:1rem}.flex-responsive{flex-direction:column;align-items:flex-start}.filters-grid{grid-template-columns:1fr}.toast-container{width:90%;max-width:400px;inset:auto auto 20px 50%;transform:translate(-50%)}.toast{width:100%;min-width:0}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.data-table th,.data-table td{padding:.75rem}.data-table th{font-size:.7rem}.data-table td{font-size:.9rem}.modal-overlay{padding:10px}.modal-content{max-height:85vh;padding:1.5rem!important}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:15px}.stat-card h3{font-size:.8rem}.stat-card .stat-value{font-size:1.5rem}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:.8s linear infinite spin}.mb-0{margin-bottom:0}.mt-6{margin-top:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.inline-block{display:inline-block}.text-right{text-align:right}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.gap-1{gap:.25rem}.gap-3{gap:.75rem}.form-hint{color:var(--color-text-light);margin-top:.25rem;font-size:.8rem}.link-subtle{color:var(--color-primary);font-size:.85rem;text-decoration:none}.link-strong{color:var(--color-primary);font-weight:600;text-decoration:none}.link-subtle:hover,.link-strong:hover{text-decoration:underline}.btn-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.btn-link:hover{text-decoration:underline}.btn-link:disabled{opacity:.6;cursor:not-allowed}.icon-button{cursor:pointer;color:var(--color-text);border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s;display:inline-flex}.icon-button:hover{background-color:rgba(var(--color-primary-rgb), .08)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.centered-screen{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.app-loading{min-height:100vh;color:var(--color-text-light);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:420px;padding:2.5rem}.message-card{width:100%;max-width:420px;padding:3rem 2rem}.message-code{color:var(--color-primary);margin-bottom:.5rem;font-size:3rem;font-weight:700;line-height:1}.form-page{max-width:600px}.form-panel{padding:2rem}.inline-notice{background-color:rgba(var(--color-accent-rgb), .12);border:1px solid rgba(var(--color-accent-rgb), .4);border-radius:var(--radius-md);color:var(--color-text);align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex}.inline-notice-text{margin-bottom:.25rem;font-size:.875rem}.error-boundary-screen{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.error-boundary-card{text-align:center;width:100%;max-width:560px;padding:2.5rem}.error-boundary-detail{text-align:left;border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;background:#0000000d;max-height:200px;margin-bottom:1.5rem;padding:1rem;font-size:.75rem;overflow:auto}.app-sidebar{-webkit-backdrop-filter:blur(10px);border-right:1px solid var(--color-border);z-index:50;background:#fffffff2;flex-direction:column;padding:2rem 1.5rem;transition:width .3s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.app-sidebar.is-drawer{z-index:200;box-shadow:var(--shadow-lg);animation:.25s drawerSlideIn}@keyframes drawerSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-backdrop{z-index:150;background:#0006;position:fixed;inset:0}.mobile-topbar{z-index:100;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);background:#fffffff2;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.mobile-topbar-title{color:var(--color-primary);flex:1;font-weight:600}.sidebar-brand{align-items:center;gap:.5rem;margin-bottom:2rem;display:flex}.sidebar-brand.is-collapsed{justify-content:center}.sidebar-logo{background-color:var(--color-primary);width:32px;min-width:32px;height:32px;color:var(--color-accent);border-radius:8px;justify-content:center;align-items:center;font-weight:700;display:flex}.sidebar-title{color:var(--color-primary);white-space:nowrap;margin:0;font-size:1.2rem}.sidebar-close{margin-left:auto}.sidebar-bell{justify-content:flex-start;margin-bottom:1rem;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;display:flex}.sidebar-link{border-radius:var(--radius-md);color:var(--color-text);white-space:nowrap;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;overflow:hidden}.sidebar-link:hover{background-color:rgba(var(--color-primary-rgb), .06)}.sidebar-link.is-active{color:var(--color-primary);background-color:rgba(var(--color-accent-rgb), .15)}.sidebar-link.is-collapsed{justify-content:center;padding:.75rem}.sidebar-icon{justify-content:center;min-width:20px;display:flex}.sidebar-collapse{justify-content:center;width:100%;margin-top:auto;margin-bottom:1rem}.sidebar-footer{border-top:1px solid var(--color-border-light);padding-top:1.5rem}.sidebar-email{color:var(--color-text-light);word-break:break-all;margin-bottom:1rem;font-size:.85rem}.sidebar-logout{color:#e53e3e;justify-content:flex-start;width:100%;padding:.625rem 1.25rem}.sidebar-logout.is-collapsed{justify-content:center;padding:.75rem}.notification-bell{position:relative}.notification-trigger{cursor:pointer;color:var(--color-text);border-radius:var(--radius-md);background:0 0;border:none;padding:.5rem;transition:background-color .2s;display:inline-flex;position:relative}.notification-trigger:hover{background-color:rgba(var(--color-primary-rgb), .08)}.notification-badge{color:#fff;text-align:center;background-color:#e53e3e;border-radius:9px;min-width:17px;height:17px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:17px;position:absolute;top:2px;right:2px}.notification-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:320px;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-lg);z-index:300;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notification-panel-header{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.notification-list{max-height:360px;overflow-y:auto}.notification-empty{text-align:center;color:var(--color-text-light);padding:2rem 1rem;font-size:.875rem}.notification-item{text-align:left;border:none;border-bottom:1px solid var(--color-border-light);cursor:pointer;background:0 0;width:100%;padding:.75rem 1rem;font-family:inherit;transition:background-color .2s;display:block}.notification-item:hover{background-color:rgba(var(--color-accent-rgb), .06)}.notification-item.is-unread{background-color:rgba(var(--color-accent-rgb), .1)}.notification-item.is-unread .notification-message{font-weight:600}.notification-message{color:var(--color-text);margin-bottom:.25rem;font-size:.875rem;line-height:1.4}.notification-time{color:var(--color-text-light);font-size:.75rem}.toolbar-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1rem;display:flex}.toolbar-search{flex:260px}.bulk-bar{background-color:rgba(var(--color-accent-rgb), .12);border:1px solid rgba(var(--color-accent-rgb), .35);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.bulk-bar-label{font-size:.9rem;font-weight:600}.checkbox-cell{text-align:center;width:36px}.tab-bar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.tab-button{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:500;transition:color .2s,border-color .2s;display:inline-flex}.tab-button:hover{color:var(--color-primary)}.tab-button.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}@media (width<=768px){.app-sidebar{padding:1.5rem 1.25rem;width:260px!important}.main-content{width:100%;margin-left:0!important}.page-container{padding:1rem}.auth-card,.message-card,.error-boundary-card{padding:2rem 1.5rem}.centered-screen{padding:1rem}.notification-panel{width:auto;max-width:none;position:fixed;top:60px;left:1rem;right:1rem}.toolbar-row>*{flex:100%}.tab-bar{gap:0}.tab-button{padding:.625rem .875rem;font-size:.85rem}}
