:root{--bg-dark: #080d19;--card-bg: #11192e;--card-border: #1e2942;--text-primary: #ffffff;--text-secondary: #8a99ad;--accent-cyan: #00e5ff;--accent-blue: #2563eb;--accent-green: #10b981;--accent-red: #ef4444}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background-color:var(--bg-dark);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto}input,select,textarea{box-sizing:border-box!important;max-width:100%!important;width:100%;font-size:16px;font-family:inherit}input[type=checkbox],input[type=radio]{width:auto!important}@media(min-width:768px){input,select,textarea{font-size:.9rem}}.grid-col,.form-group,.input-wrapper,.modal-form-group{min-width:0}select{width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}select option{max-width:100%;width:100%;white-space:normal;word-break:break-word}.responsive-wrapper{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg-dark);color:var(--text-primary)}.user-badge{width:38px;height:38px;border-radius:50%;background-color:#4f46e5;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;-webkit-user-select:none;user-select:none;flex-shrink:0}.btn-toggle-add{background-color:#080d19;border:1px solid var(--card-border);color:var(--accent-cyan);padding:8px 14px;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color .2s;touch-action:manipulation}.btn-toggle-add:hover{border-color:var(--accent-cyan)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#080d19d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .25s ease-in-out;padding:1rem}.modal-overlay.is-active{opacity:1;pointer-events:auto}.modal-box,.modal-card{background-color:#1e293b;border:1px solid #334155;border-radius:1rem;width:100%;max-width:460px;max-height:calc(100vh - 2rem);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.5rem;box-shadow:0 25px 50px -12px #0009;transform:scale(.95) translateY(-10px);transition:transform .25s cubic-bezier(.16,1,.3,1);box-sizing:border-box;color:#f8fafc}.modal-overlay.is-active .modal-box,.modal-overlay.is-active .modal-card{transform:scale(1) translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid #334155}.modal-title,.modal-card h4{color:#f8fafc;margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.025em}.btn-close-modal{background:none;border:none;color:#94a3b8;font-size:1.5rem;cursor:pointer;line-height:1;padding:.4rem;border-radius:6px;transition:color .15s ease;touch-action:manipulation}.btn-close-modal:hover{color:#f1f5f9}.modal-form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.modal-form-group label,.modal-label{display:block;color:#94a3b8;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem}.modal-box .form-input,.modal-card .form-input{width:100%;padding:.75rem .85rem;background-color:#0f172a;color:#f8fafc;border:1px solid #475569;border-radius:.5rem;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.modal-box .form-input:focus,.modal-card .form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f640}.modal-box .form-input::placeholder,.modal-card .form-input::placeholder{color:#94a3b8;opacity:1}.modal-box .form-select,.modal-card select.form-input{width:100%;padding:.75rem 2.25rem .75rem .85rem;background-color:#0f172a;color:#f8fafc;border:1px solid #475569;border-radius:.5rem;box-sizing:border-box;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.modal-footer,.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #334155;background:transparent}.btn-cancel{background:#334155;color:#f8fafc;border:1px solid transparent;padding:.65rem 1.2rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s ease;touch-action:manipulation}.btn-cancel:hover{background:#475569}.modal-footer .btn-save,.modal-card .btn-save{background:#3b82f6;color:#fff;border:none;padding:.65rem 1.2rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,transform .1s ease;touch-action:manipulation}.modal-footer .btn-save:hover,.modal-card .btn-save:hover{background:#2563eb}@media(max-width:600px){.modal-box,.modal-card{padding:1.25rem;border-radius:.75rem}.modal-footer,.modal-actions{flex-direction:column-reverse;gap:.5rem}.modal-footer button,.modal-actions button{width:100%;text-align:center;padding:.75rem}}
