:root{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Playfair Display", Georgia, serif;--font-serif:"Lora", Georgia, serif;--bg-primary:#fcfbf9;--bg-secondary:#f5f3ed;--bg-tertiary:#eae7dd;--text-primary:#222624;--text-secondary:#535956;--text-tertiary:#878f8b;--primary:#2d4a3e;--primary-hover:#1b2f27;--primary-light:#2d4a3e14;--primary-border:#2d4a3e33;--accent-pink:#a3655b;--accent-pink-light:#a3655b14;--accent-emerald:#466b58;--accent-emerald-light:#466b5814;--accent-amber:#b08d46;--accent-amber-light:#b08d4614;--border-color:#d7d1c2;--card-shadow:0 1px 3px #0000000d, 0 0 0 1px #00000005;--modal-shadow:0 10px 15px -3px #0000000d;--glass-bg:#f5f3ede6;--glass-border:#d7d1c2;--border-radius-sm:4px;--border-radius-md:6px;--border-radius-lg:10px;--border-radius-full:9999px;--safe-area-bottom:env(safe-area-inset-bottom,0px)}:root.dark{--bg-primary:#07120f;--bg-secondary:#0d1d18;--bg-tertiary:#142922;--text-primary:#e6efe7;--text-secondary:#aebfaf;--text-tertiary:#718377;--primary:#9fbd9f;--primary-hover:#b5d0b4;--primary-light:#9fbd9f21;--primary-border:#9fbd9f47;--accent-pink:#c1847a;--accent-pink-light:#c1847a21;--accent-emerald:#7da58b;--accent-emerald-light:#7da58b21;--accent-amber:#c4a866;--accent-amber-light:#c4a86621;--border-color:#263a32;--card-shadow:0 4px 12px #00000059;--modal-shadow:0 20px 25px -5px #00000073;--glass-bg:#0d1d18f2;--glass-border:#263a32}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);font-size:15px;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}#root{justify-content:center;align-items:center;width:100%;min-height:100svh;display:flex}.app-container{background-color:var(--bg-primary);flex-direction:column;width:100%;max-width:480px;height:100svh;transition:background-color .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 40px #0000001a}@media (width>=481px){.app-container{border:10px solid #27221e;border-radius:12px;height:850px;box-shadow:0 25px 50px -12px #0000004d}:root.dark .app-container{border-color:#1a1714}}.app-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:10;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.logo-container{align-items:center;gap:8px;display:flex}.logo-text{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.5px;font-size:24px;font-style:italic;font-weight:700}.app-content{padding:24px;padding-bottom:calc(90px + var(--safe-area-bottom));flex:1;overflow-y:auto}.app-content-chat{padding-bottom:calc(84px + var(--safe-area-bottom));flex-direction:column;display:flex;overflow:hidden}.app-navbar{height:calc(72px + var(--safe-area-bottom));background-color:var(--glass-bg);border-top:1px solid var(--glass-border);padding-bottom:var(--safe-area-bottom);z-index:100;justify-content:space-around;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #00000005}.nav-item{color:var(--text-tertiary);cursor:pointer;font-size:11px;font-family:var(--font-serif);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;height:100%;font-weight:500;transition:color .2s,transform .1s;display:flex}.nav-item:active{transform:scale(.97)}.nav-item.active{color:var(--primary)}.nav-icon-wrapper{border-radius:var(--border-radius-sm);padding:6px 12px;transition:background-color .2s}.nav-item.active .nav-icon-wrapper{background-color:var(--primary-light);border:1px solid var(--primary-border)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-primary);font-weight:700}h2{letter-spacing:-.3px;border-bottom:1px solid var(--border-color);margin-bottom:20px;padding-bottom:8px;font-size:24px}h3{margin-bottom:8px;font-size:18px}p{font-family:var(--font-serif)}.flex-row-between{justify-content:space-between;align-items:center;display:flex}.badge{border-radius:var(--border-radius-sm);text-transform:uppercase;letter-spacing:.8px;border:1px solid #0000;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.badge-primary{background-color:var(--primary-light);color:var(--primary);border-color:var(--primary-border)}.badge-danger{background-color:var(--accent-pink-light);color:var(--accent-pink);border-color:#a3655b33}.badge-success{background-color:var(--accent-emerald-light);color:var(--accent-emerald);border-color:#466b5833}.badge-warning{background-color:var(--accent-amber-light);color:var(--accent-amber);border-color:#b08d4633}.card{background-color:var(--bg-secondary);border-radius:var(--border-radius-md);border:1px solid var(--border-color);box-shadow:var(--card-shadow);margin-bottom:18px;padding:18px;transition:all .2s}.card:hover{border-color:var(--text-tertiary)}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{font-size:11px;font-weight:700;font-family:var(--font-sans);color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.input-text,.select-input,.textarea-input{border-radius:var(--border-radius-sm);border:1px solid var(--border-color);background-color:var(--bg-primary);width:100%;color:var(--text-primary);font-family:var(--font-serif);outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.input-text:focus,.select-input:focus,.textarea-input:focus{border-color:var(--primary)}.date-input-wrap{width:100%;min-width:0;max-width:100%;position:relative;overflow:hidden}.date-input-icon{pointer-events:none;z-index:1;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.date-input{appearance:none;width:100%;min-width:0;max-width:100%;padding-left:36px;display:block}@supports (-webkit-touch-callout:none){.date-input{width:calc(100% - 2px)}}.textarea-input{resize:vertical;min-height:100px}.btn{border-radius:var(--border-radius-sm);font-weight:600;font-family:var(--font-serif);cursor:pointer;border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;transition:all .2s;display:inline-flex}.btn:hover{border-color:var(--text-secondary);background-color:var(--bg-secondary)}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--primary);border-color:var(--primary);color:var(--bg-primary)!important}.btn-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-icon-only{border-radius:var(--border-radius-sm);width:38px;height:38px;padding:0}.header-actions{align-items:center;gap:8px;display:flex}.btn-theme-toggle{color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .2s;display:flex}.btn-theme-toggle:hover{border-color:var(--border-color);background-color:var(--bg-tertiary)}@keyframes pulse-mic{0%{transform:scale(1);box-shadow:0 0 #a3655b66}70%{transform:scale(1.03);box-shadow:0 0 0 10px #a3655b00}to{transform:scale(1);box-shadow:0 0 #a3655b00}}.mic-recording{animation:1.8s infinite pulse-mic;background-color:var(--accent-pink)!important;border-color:var(--accent-pink)!important;color:var(--bg-primary)!important}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.4s cubic-bezier(.16,1,.3,1) forwards slide-up}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.25s forwards fade-in}.summary-widget{background-color:var(--primary-light);border:1px solid var(--primary-border);color:var(--text-primary)}.summary-widget h4{color:var(--primary)}.summary-widget p{color:var(--text-secondary)}.hidden{display:none}
