/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}:root{--color-blue:#2563eb;--color-indigo:#667eea;--color-purple:#764ba2;--color-red:#dc2626;--color-green:#27ae60;--color-text-dark:#1e293b;--color-text-medium:#475569;--color-text-light:#64748b;--glass-bg:#ffffffa6;--glass-border:#ffffff80;--glass-shadow:0 8px 32px 0 #1f26875e;--transition-fast:.2s ease;--transition-normal:.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;color:var(--color-text-dark);background:linear-gradient(135deg,#d7f3ee 0%,#2c17e4 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:transform var(--transition-fast),box-shadow var(--transition-fast);border-radius:20px}.glass-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px #1f268780}.sidebar{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);z-index:1000;pointer-events:auto;flex-direction:column;width:256px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:2px 0 20px #0000001a}.sidebar-logo{border-bottom:1px solid #fff3;padding:24px}.sidebar-nav{pointer-events:auto;z-index:1;flex:1;padding:16px;position:relative;overflow-y:auto}.nav-item{color:var(--color-text-medium);transition:all var(--transition-fast);cursor:pointer;pointer-events:auto;z-index:1;border-radius:12px;align-items:center;gap:12px;margin:4px 0;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:var(--color-indigo);background:#667eea1a;transform:translate(4px)}.nav-item.active{background:var(--color-indigo);color:#fff;box-shadow:0 4px 12px #667eea4d}.nav-item i{text-align:center;width:24px;font-size:20px}.sidebar-footer{border-top:1px solid #fff3;padding:16px}.user-profile{border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.user-avatar{background:var(--color-blue);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:600;display:flex}.user-info{flex:1;min-width:0}.user-name{color:var(--color-text-dark);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.user-role{color:var(--color-text-light);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.logout-btn{color:var(--color-text-medium);transition:all var(--transition-fast);cursor:pointer;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.logout-btn:hover{color:var(--color-red);background:#dc26261a}.main-content{background:0 0;min-height:100vh;margin-left:256px;padding:32px}.login-container{background:linear-gradient(135deg,#1e3a8a 0%,#8cd896 50%,#7c3aed 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);width:200%;height:200%;animation:20s ease-in-out infinite pulse;position:absolute;top:-50%;right:-50%}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.login-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);z-index:1;border-radius:20px;width:100%;max-width:420px;padding:48px;position:relative}.login-title{text-align:center;margin-bottom:32px}.login-title h1{color:var(--color-text-dark);margin-bottom:8px;font-size:32px;font-weight:700}.login-title p{color:var(--color-text-medium);font-size:16px;font-weight:500}.login-card form{margin-top:0}.form-group{margin-bottom:24px}.form-label{color:var(--color-text-dark);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-input{width:100%;color:var(--color-text-dark);transition:all var(--transition-fast);background:#fffc;border:1px solid #ffffff4d;border-radius:12px;padding:12px 16px;font-family:inherit;font-size:15px}.form-input::placeholder{color:var(--color-text-light)}.form-input:focus{border-color:var(--color-blue);background:#fffffff2;outline:none;box-shadow:0 0 0 3px #2563eb1a}.btn{cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn i{font-size:18px}.btn-primary{background:var(--color-blue);color:#fff;box-shadow:0 4px 12px #2563eb4d}.btn-primary:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 16px #2563eb66}.btn-primary:active{transform:translateY(0)}.btn-danger{background:var(--color-red);color:#fff;box-shadow:0 4px 12px #dc26264d}.btn-danger:hover{background:#b91c1c;box-shadow:0 6px 16px #dc262666}.btn-success{background:var(--color-green);color:#fff;box-shadow:0 4px 12px #27ae604d}.btn-success:hover{background:#229954;box-shadow:0 6px 16px #27ae6066}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all var(--transition-fast);border-radius:20px;padding:24px}.card:hover{transform:translateY(-3px);box-shadow:0 12px 40px #1f268780}.card-header{border-bottom:1px solid #fff3;margin-bottom:20px;padding-bottom:16px}.card-title{color:var(--color-text-dark);margin-bottom:4px;font-size:24px;font-weight:700}.card-subtitle{color:var(--color-text-medium);font-size:14px}.hero-card{background:linear-gradient(135deg,var(--color-indigo)0%,var(--color-purple)100%);color:#fff;border-left:4px solid var(--color-purple);border-radius:20px;margin-bottom:24px;padding:32px;position:relative;overflow:hidden}.hero-card:before{content:"";background:#ffffff1a;border-radius:50%;width:300px;height:300px;position:absolute;top:-50%;right:-10%}.hero-title{z-index:1;margin-bottom:8px;font-size:32px;font-weight:700;position:relative}.hero-subtitle{opacity:.9;z-index:1;font-size:16px;position:relative}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px;display:grid}.stat-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all var(--transition-fast);border-radius:20px;align-items:center;gap:16px;padding:24px;display:flex}.stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px #1f268780}.stat-icon{border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex}.stat-icon.blue{color:var(--color-blue);background:#2563eb1a}.stat-icon.teal{color:#14b8a6;background:#14b8a61a}.stat-icon.amber{color:#f59e0b;background:#f59e0b1a}.stat-content{flex:1}.stat-label{color:var(--color-text-medium);margin-bottom:4px;font-size:13px}.stat-value{color:var(--color-text-dark);font-size:28px;font-weight:700}.table-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;overflow:hidden}.table{border-collapse:separate;border-spacing:0;width:100%}.table thead{background:#f1f5f9cc}.table th{text-align:left;color:var(--color-text-medium);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f080;padding:16px 24px;font-size:12px;font-weight:600}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:#667eea0d}.table td{color:var(--color-text-dark);border-bottom:1px solid #e2e8f04d;padding:16px 24px;font-size:14px}.table tbody tr:last-child td{border-bottom:none}.form-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;padding:32px}.form-row{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px;display:grid}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:16px 32px;font-size:16px}.alert{border-radius:12px;margin-bottom:20px;padding:16px 20px;font-size:14px}.alert-error{color:var(--color-red);background:#dc26261a;border:1px solid #dc262633}.alert-success{color:var(--color-green);background:#27ae601a;border:1px solid #27ae6033}.htmx-indicator{border:3px solid #2563eb33;border-top-color:var(--color-blue);z-index:9999;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin;display:none;position:fixed;top:24px;right:24px}.htmx-request .htmx-indicator{display:block}@keyframes spin{to{transform:rotate(360deg)}}.mobile-menu-btn{z-index:1001;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);width:48px;height:48px;box-shadow:var(--glass-shadow);cursor:pointer;transition:all var(--transition-fast);border-radius:12px;justify-content:center;align-items:center;display:none;position:fixed;top:20px;left:20px}.mobile-menu-btn:hover{background:#fffc}.mobile-menu-btn i{color:var(--color-text-dark);font-size:24px}.mobile-overlay{-webkit-backdrop-filter:blur(4px);z-index:999;background:#00000080;display:none;position:fixed;inset:0}.mobile-overlay.active{display:block}@media (max-width:768px){.sidebar{transition:transform var(--transition-normal);transform:translate(-100%)}.sidebar.active{transform:translate(0)}.main-content{margin-left:0;padding:20px}.mobile-menu-btn{display:flex}.nav-item{pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:#667eea33}.sidebar-nav{pointer-events:auto}.stats-grid,.form-row{grid-template-columns:1fr}.table-container{overflow-x:auto}}.text-blue{color:var(--color-blue)}.text-indigo{color:var(--color-indigo)}.text-purple{color:var(--color-purple)}.text-red{color:var(--color-red)}.text-green{color:var(--color-green)}.bg-blue{background-color:var(--color-blue)}.bg-indigo{background-color:var(--color-indigo)}.bg-purple{background-color:var(--color-purple)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#667eea80}.static{position:static}.mx-auto{margin-inline:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.w-full{width:100%}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-none{--tw-border-style:none;border-style:none}.bg-transparent{background-color:#0000}.text-center{text-align:center}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}