:root{--color-bg-base:#0f172a;--color-bg-surface:#1e293b;--color-bg-elevated:#1e293bb3;--color-primary:#f97316;--color-primary-glow:#f9731680;--color-secondary:#ea580c;--color-accent:#10b981;--color-danger:#ef4444;--color-text-main:#f8fafc;--color-text-muted:#94a3b8;--color-border:#334155;--color-border-glow:#f973164d;--font-main:"Inter", system-ui, -apple-system, sans-serif;--transition-fast:.15s ease-out;--transition-smooth:.3s cubic-bezier(.4, 0, .2, 1);--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-glow:0 0 20px var(--color-primary-glow);--glass-border:1px solid #ffffff1a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg-base);color:var(--color-text-main);font-family:var(--font-main);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,#f9731626 0,#0000 50%),radial-gradient(at 100% 100%,#ea580c26 0,#0000 50%);background-attachment:fixed;min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit}.glass-panel{background:var(--color-bg-elevated);-webkit-backdrop-filter:blur(16px);border:var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.container{max-width:1200px;margin:0 auto;padding:2rem}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;border-radius:var(--radius-sm);transition:var(--transition-smooth);padding:.75rem 1.5rem;font-weight:600;box-shadow:0 4px 15px #3b82f666}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f699}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--color-text-main);border-radius:var(--radius-sm);border:1px solid var(--color-border);transition:var(--transition-fast);background:0 0;padding:.75rem 1.5rem;font-weight:600}.btn-secondary:hover{border-color:var(--color-text-muted);background:#ffffff0d}.btn-danger{color:var(--color-danger);border-radius:var(--radius-sm);transition:var(--transition-fast);background:#ef44441a;border:1px solid #ef44444d;padding:.5rem 1rem;font-weight:600}.btn-danger:hover{background:var(--color-danger);color:#fff}.input-field{border:1px solid var(--color-border);color:var(--color-text-main);border-radius:var(--radius-sm);width:100%;transition:var(--transition-fast);background:#0f172a99;padding:.75rem 1rem}.input-field:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #3b82f633}.label{color:var(--color-text-muted);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.table-container{width:100%;overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%}.data-table th{color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:1rem;font-weight:600}.data-table td{color:var(--color-text-main);border-bottom:1px solid #ffffff0d;padding:1rem}.data-table tr:hover td{background:#ffffff05}.app-header{text-align:center;margin-bottom:1.5rem;padding-top:.5rem}.app-logo{width:auto;height:95px;margin-bottom:0}.how-to-link{color:var(--color-primary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;margin-top:.2rem;font-size:.85rem;text-decoration:underline}.how-to-link:hover{color:var(--color-secondary)}.app-subtitle{color:var(--color-text-muted);font-size:1.1rem;font-weight:400}.main-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=992px){.main-grid{grid-template-columns:350px 1fr}}.panel{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.panel-title{color:var(--color-text-main);border-bottom:1px solid var(--color-border);margin-bottom:1rem;padding-bottom:.75rem;font-size:1.25rem}.empty-state{text-align:center;color:var(--color-text-muted);padding:3rem 1rem}.notification-banner{border:1px solid var(--color-danger);color:var(--color-danger);border-radius:var(--radius-md);text-align:center;background-color:#ef44441a;margin-bottom:2rem;padding:1rem;font-weight:500;box-shadow:0 4px 15px #ef444426}.tabs{border-bottom:1px solid var(--color-border);gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.tab-btn{color:var(--color-text-muted);border-radius:var(--radius-sm);transition:var(--transition-fast);padding:.5rem 1rem;font-weight:500}.tab-btn:hover{color:var(--color-text-main);background:#ffffff0d}.tab-btn.active{color:#fff;background:var(--color-primary-glow);border:1px solid var(--color-primary)}.form-group{margin-bottom:1rem}.file-drop-area{border:2px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;transition:var(--transition-fast);background:#0f172a66;padding:3rem 2rem;position:relative}.file-drop-area:hover{border-color:var(--color-primary);background:#3b82f60d}.file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.file-drop-text{color:var(--color-text-muted);font-weight:500}.list-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.badge{background:var(--color-primary-glow);color:var(--color-text-main);vertical-align:middle;border-radius:9999px;margin-left:.5rem;padding:.2rem .6rem;font-size:.8rem}.btn-sm{padding:.4rem .8rem;font-size:.875rem}.btn-icon{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-fast);background:0 0;border:none;padding:0 .5rem;font-size:1.5rem;line-height:1}.btn-icon:hover{color:var(--color-danger);background:#ef44441a}.text-highlight{color:var(--color-accent);font-weight:600}.inline-edit-input{color:inherit;font-family:inherit;font-size:inherit;border-radius:var(--radius-sm);width:80px;transition:var(--transition-fast);background:0 0;border:1px solid #0000;padding:.2rem .5rem}.inline-edit-input:hover{background:#ffffff0d;border-color:#ffffff1a}.inline-edit-input:focus{border-color:var(--color-primary);background:#0f172acc;outline:none}.group-controls{margin-top:1rem}.control-row{align-items:flex-end;gap:1rem;display:flex}.size-input-wrapper{flex:1;max-width:120px}.size-input{text-align:center;font-size:1.2rem;font-weight:700}.group-btn{flex:2;justify-content:center;align-items:center;gap:.5rem;height:48px;font-size:1.1rem;display:flex}.group-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale()}.btn-icon-svg{font-size:1.2rem}.helper-text{color:var(--color-text-muted);text-align:center;margin-top:.5rem;font-size:.8rem}.results-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.header-actions{gap:1rem;display:flex}.groups-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.group-card{opacity:0;padding:1.25rem;animation:.4s ease-out forwards fadeIn}.group-card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.group-stats{color:var(--color-text-muted);flex-direction:column;align-items:flex-end;font-size:.8rem;display:flex}.small-table th,.small-table td{padding:.5rem;font-size:.9rem}.text-warning{color:#f59e0b}.text-success{color:var(--color-accent)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:90%;max-width:500px;padding:2rem;box-shadow:0 25px 50px -12px #00000080}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-header h2{color:var(--color-text-main);font-size:1.5rem}.modal-body{color:var(--color-text-muted);line-height:1.6}.modal-body p{margin-bottom:.5rem}.modal-body strong{color:var(--color-text-main)}.modal-divider{background:var(--color-border);border:0;height:1px;margin:1.5rem 0}.modal-footer{justify-content:flex-end;margin-top:2rem;display:flex}
