:root{--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-secondary: #ec4899;--color-accent: #14b8a6;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-hover: #f1f5f9;--color-border: #e2e8f0;--color-text-main: #0f172a;--color-text-muted: #64748b;--color-danger: #ef4444;--color-success: #10b981;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-md: .5rem;--radius-lg: 1rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text-main);line-height:1.5;-webkit-font-smoothing:antialiased}ul,ol{list-style:none}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;background:none;outline:none}input,textarea,select{font-family:inherit;outline:none}img{max-width:100%;display:block}#app{display:flex;flex-direction:column;min-height:100vh}#app-header{height:64px;background:rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;align-items:center;padding:0 2rem;box-shadow:var(--shadow-sm)}#app-body{display:flex;flex:1;overflow:hidden}#app-sidebar{width:260px;background-color:var(--color-surface);border-right:1px solid var(--color-border);padding:1.5rem;overflow-y:auto}#app-main{flex:1;padding:2rem;overflow-y:auto}.text-h1{font-size:2rem;font-weight:700;letter-spacing:-.02em}.text-h2{font-size:1.5rem;font-weight:600;letter-spacing:-.01em}.text-h3{font-size:1.25rem;font-weight:600}.text-base{font-size:1rem}.text-sm{font-size:.875rem}.text-muted{color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;transition:all var(--transition-fast)}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 4px 14px rgba(99,102,241,.39)}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:#fff;border:1px solid var(--color-border);color:var(--color-text-main)}.btn-secondary:hover{background-color:var(--color-surface-hover);border-color:var(--color-text-muted)}.btn-icon{padding:.5rem;border-radius:var(--radius-full)}.btn-icon:hover{background-color:var(--color-surface-hover)}.hidden{display:none!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(15,23,42,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:50;animation:fadeIn .2s ease-out}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:60;width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;animation:scaleIn .2s cubic-bezier(.16,1,.3,1) forwards}.modal.outfit-modal{max-width:800px}.modal-header{padding:1.5rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:1.5rem;overflow-y:auto}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:.75rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:translate(-50%,-45%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--color-text-main)}.form-input,.form-select{width:100%;padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--color-text-muted)}.empty-state svg{width:64px;height:64px;margin-bottom:1.5rem;color:var(--color-border)}@media(max-width:768px){#app-header{padding:0 1rem;height:56px}#app-header .header-logo h1{font-size:1.1rem}#app-header .header-actions .btn span.btn-text{display:none}#app-header .header-actions .btn svg{margin-right:0}#app-header .header-actions{gap:.5rem}#app-header .header-actions .btn{padding:.5rem .6rem;font-size:0}#app-header .header-actions .btn svg{margin:0}#app-body{flex-direction:column;overflow:visible}#app-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;background:var(--color-surface)}#app-sidebar .sidebar-banner{display:none}#app-main{padding:1rem;overflow-y:auto}.modal{width:100%;max-width:100%;max-height:100vh;height:100%;border-radius:0;top:0;left:0;transform:none;animation:slideUp .25s ease-out forwards}.modal.outfit-modal{max-width:100%}.modal-header{padding:1rem}.modal-body{padding:1rem;flex:1}.modal-footer{padding:.75rem 1rem}#auth-container .modal{width:92%;height:auto;max-height:90vh;border-radius:var(--radius-lg);top:50%;left:50%;transform:translate(-50%,-50%);animation:scaleIn .2s ease-out forwards}.mobile-fab{position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(99,102,241,.4);z-index:45;cursor:pointer;border:none;transition:transform .2s,box-shadow .2s}.mobile-fab:active{transform:scale(.92)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(min-width:769px){.mobile-fab{display:none}.mobile-only{display:none!important}}@media(max-width:375px){#app-main{padding:.75rem}}
