@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&display=swap";:root{--bg-color:#2c1e16;--text-color:#f5e6d3;--card-bg:#3e272399;--card-border:#d4a37326;--accent-color:#d4a373;--accent-hover:#e6b588;--input-bg:#0003;--input-border:#d4a37333;--danger:#ef4444;--danger-hover:#f87171;--shadow:0 8px 32px 0 #00000080;--backdrop-blur:blur(16px);--success:#10b981}[data-theme=light]{--bg-color:#fdfbf7;--text-color:#3e2723;--card-bg:#fff;--card-border:#8d55241a;--accent-color:#c87941;--accent-hover:#8d5524;--input-bg:#f5ebe0;--input-border:#8d552426;--shadow:0 10px 25px -5px #3e27231a, 0 8px 10px -6px #3e27230d;--backdrop-blur:blur(0px)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);flex-direction:column;align-items:center;min-height:100vh;font-family:Outfit,sans-serif;transition:background-color .3s,color .3s;display:flex;position:relative;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 200 200\" fill=\"none\" stroke=\"%23d4a373\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" opacity=\"0.08\"><path d=\"M50 80 Q100 120 150 80\" /><path d=\"M60 80 L70 140 Q100 160 130 140 L140 80\" /><path d=\"M140 90 C160 90 160 130 135 130\" /><path d=\"M40 150 L160 150\" /><path d=\"M80 40 Q85 20 95 30 T105 10\" /><path d=\"M110 40 Q115 20 125 30 T135 10\" /></svg>");background-position:50%;background-repeat:no-repeat;background-size:contain;width:80vw;height:80vh;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}[data-theme=light] body:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 200 200\" fill=\"none\" stroke=\"%233e2723\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" opacity=\"0.05\"><path d=\"M50 80 Q100 120 150 80\" /><path d=\"M60 80 L70 140 Q100 160 130 140 L140 80\" /><path d=\"M140 90 C160 90 160 130 135 130\" /><path d=\"M40 150 L160 150\" /><path d=\"M80 40 Q85 20 95 30 T105 10\" /><path d=\"M110 40 Q115 20 125 30 T135 10\" /></svg>")}#app{z-index:1;width:100%;max-width:600px;padding:2rem 1.5rem}h1,h2,h3{margin-bottom:1rem;font-weight:600}.header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.header-actions{gap:.5rem;display:flex}button{background-color:var(--accent-color);color:var(--bg-color);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.2rem;font-family:inherit;font-size:.95rem;font-weight:800;transition:all .2s;display:inline-flex}[data-theme=light] button{color:#fff}button:hover{background-color:var(--accent-hover);transform:translateY(-1px)}button.secondary{border:1px solid var(--accent-color);color:var(--accent-color);background-color:#0000}button.secondary:hover{background-color:#d4a3731a}[data-theme=light] button.secondary:hover{background-color:#c879411a}button.danger{background-color:var(--danger);color:#fff;border:none}button.danger:hover{background-color:var(--danger-hover)}button.icon-btn{border:1px solid var(--input-border);color:var(--text-color);background:0 0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:1.2rem;display:flex}button.icon-btn:hover{background:var(--input-bg)}button.icon-btn.danger{color:var(--danger);border-color:#ef44444d}button.icon-btn.danger:hover{background:#ef44441a}input,select{background-color:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-color);border-radius:12px;margin-bottom:1rem;padding:.8rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}input:focus,select:focus{border-color:var(--accent-color);outline:none}.card{background:var(--card-bg);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s}.auth-container{background:var(--card-bg);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--card-border);text-align:center;box-shadow:var(--shadow);border-radius:20px;padding:2.5rem 2rem}.auth-container h2{margin-bottom:1.5rem}.action-item{background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:1rem;display:flex}.action-type{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-color);font-size:.85rem;font-weight:600}.action-controls{align-items:center;gap:.5rem;display:flex}.action-controls input{text-align:center;width:60px;margin-bottom:0;padding:.4rem}.add-action-buttons{gap:1rem;margin-top:1rem;display:flex}.add-action-buttons button{flex:1}.save-routine{gap:1rem;margin-top:1.5rem;display:flex}.save-routine input{flex:1;margin-bottom:0}.routine-item{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;display:flex}.routine-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:1.1rem;font-weight:600;overflow:hidden}.routine-actions{flex-wrap:nowrap;align-items:center;gap:.5rem;display:flex}.pending-brew-item{background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:1rem;display:flex}.brew-info{flex-direction:column;display:flex}.brew-name{color:var(--accent-color);font-weight:600}.brew-time{opacity:.8;font-size:.85rem}.overlay-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;pointer-events:none;background:#0009;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.overlay-modal.active{opacity:1;pointer-events:auto}.modal-content{width:90%;max-width:400px;max-height:80vh;overflow-y:auto}.time-inputs{gap:1rem;margin:1.5rem 0;display:flex}.time-inputs div{flex:1}.time-inputs label{color:var(--text-color);opacity:.8;margin-bottom:.5rem;font-size:.85rem;display:block}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.message{background:var(--input-bg);text-align:center;border-radius:12px;margin-bottom:1rem;padding:1rem}.message.error{color:var(--danger);background:#ef44441a;border:1px solid #ef444433}.message.success{color:var(--success);background:#10b9811a;border:1px solid #10b98133}
