@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--bg:#f5f7f4;--card:#fff;--text:#20302a;--muted:#77847d;--line:#e1e8e2;--green:#729d79;--deep:#315c45;--soft:#e7f0e8;--gold:#b48745;--shadow:0 12px 34px #284b3510}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.hidden{display:none!important}.dark{--bg:#17211c;--card:#223129;--text:#eef7f0;--muted:#a9b8ae;--line:#34463a;--soft:#2b4032}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,#d9eadb 0,#f5f7f4 45%)}.dark .login-screen{background:#17211c}.login-card{width:min(430px,100%);background:var(--card);border:1px solid var(--line);border-radius:24px;padding:42px;box-shadow:0 24px 70px #244b3218}.login-brand,.brand{display:flex;align-items:center;gap:12px}.login-brand{margin-bottom:44px}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--deep);color:#fff;display:grid;place-items:center;font-family:Georgia;font-size:23px}.login-brand strong,.brand strong{display:block;letter-spacing:2px;font-size:14px}.login-brand span,.brand span{font-size:8px;letter-spacing:1.4px;color:var(--muted)}h1{font:400 42px "DM Serif Display",Georgia,serif;margin:8px 0 8px}.login-lead{font-size:18px;font-weight:700;color:var(--deep);margin:0 0 10px;letter-spacing:.2px}.preview-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:10px;padding:11px 17px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--deep);font-weight:700;cursor:pointer;transition:.2s}.preview-btn:hover{background:var(--soft);border-color:#8db597}.preview-btn span{font-size:18px}.developer-credit{text-align:center;color:var(--muted);font-size:11px;letter-spacing:.3px;margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}h2{font:400 28px "DM Serif Display",Georgia,serif;margin:7px 0}.muted{color:var(--muted);margin:0;line-height:1.55}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:750;margin:0}.login-card form{margin-top:28px}.login-card label,.modal-card label{display:block;color:var(--muted);font-size:12px;margin:14px 0}.login-card input,.modal-card input,.modal-card textarea,.builder input,.builder textarea,.builder select{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;outline:none}.primary,.secondary,.danger,.text-btn{border:0;border-radius:10px;padding:12px 17px;font-weight:700;cursor:pointer}.primary{background:var(--deep);color:#fff}.secondary{background:var(--soft);color:var(--deep)}.danger{background:#f8e5e2;color:#a04b3e}.full{width:100%;margin-top:12px}.error{display:block;color:#b2584c;margin-top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--card);border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column}.brand{padding:0 10px 52px}.sidebar nav{display:grid;gap:8px}.nav{border:0;background:transparent;text-align:left;padding:14px;border-radius:11px;color:var(--muted);font-size:14px;cursor:pointer}.nav.active,.nav:hover{background:var(--soft);color:var(--deep);font-weight:700}.sidebar-foot{margin-top:auto;color:var(--muted);font-size:12px;padding:12px}.sidebar-foot>span{color:#6eaf7a}.logout{display:block;border:0;background:none;color:var(--muted);padding:16px 0 0;cursor:pointer;font-size:12px}main{margin-left:250px;padding:48px 6%;max-width:1500px}header{display:flex;justify-content:space-between;align-items:flex-start}.actions{display:flex;gap:12px}.icon-btn,.avatar{border:1px solid var(--line);background:var(--card);width:42px;height:42px;border-radius:12px;cursor:pointer;color:var(--text)}.avatar{background:var(--deep);color:#fff;border:0;font-weight:700}.toolbar{display:flex;gap:14px;margin:42px 0 26px}.search{flex:1;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;color:var(--muted)}.search input{border:0;outline:0;background:none;color:var(--text);width:92%;font-size:14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat,.panel,.product,.formula-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.stat span,.stat small{display:block;color:var(--muted);font-size:12px}.stat b{display:block;font-size:28px;margin:10px 0 5px}.green{color:#5b9c67!important}.amber{color:#bd8843!important}.section-head{display:flex;justify-content:space-between;align-items:end;margin:42px 0 18px}.section-head h2{margin:6px 0}.text-btn{background:none;color:var(--deep);padding:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product{cursor:pointer;transition:.2s}.product:hover{transform:translateY(-3px);border-color:#8db597}.product-top,.formula-top,.product-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.product-icon{width:44px;height:44px;border-radius:13px;background:var(--soft);display:grid;place-items:center;font-size:21px}.pill{font-size:10px;padding:6px 9px;border-radius:30px;background:var(--soft);color:var(--deep);font-weight:700}.product h3{margin:22px 0 7px;font-size:17px}.product p{color:var(--muted);font-size:12px;line-height:1.55;min-height:38px}.product-foot{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.product-detail{max-width:1100px}.back{border:0;background:none;color:var(--muted);cursor:pointer;padding:0;margin-bottom:24px}.detail-actions{display:flex;gap:9px;flex-wrap:wrap}.formula-tabs{display:flex;gap:10px;overflow:auto;margin:30px 0 18px}.formula-tab{min-width:180px;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:13px;padding:14px;cursor:pointer;color:var(--text)}.formula-tab.active{border:2px solid var(--deep);background:var(--soft)}.formula-tab small{display:block;color:var(--muted);margin-top:6px}.formula-card{margin-top:12px}.formula-card.final{border-color:#c99a55;background:linear-gradient(120deg,var(--card),#fff8ed)}.dark .formula-card.final{background:#3b3425}.formula-card h3{margin:0 0 5px}.formula-card p{color:var(--muted);font-size:13px}.ingredient-table{width:100%;border-collapse:collapse;margin-top:17px;font-size:13px}.ingredient-table th,.ingredient-table td{text-align:left;padding:11px;border-bottom:1px solid var(--line)}.ingredient-table th{color:var(--muted);font-size:11px}.phase{border:1px solid var(--line);border-radius:12px;margin:12px 0;overflow:hidden}.phase-title{display:flex;justify-content:space-between;padding:13px 15px;background:var(--soft);font-weight:700}.phase-note{color:var(--muted);font-size:12px;padding:0 15px}.builder{display:grid;gap:14px}.builder-row{display:grid;grid-template-columns:1fr 130px 1fr 36px;gap:9px;align-items:end}.builder h3{margin:10px 0 0}.builder-actions{display:flex;gap:9px;flex-wrap:wrap}.modal{position:fixed;inset:0;background:#10201599;display:grid;place-items:center;padding:20px;z-index:3}.modal-card{background:var(--card);width:min(650px,100%);max-height:90vh;overflow:auto;padding:32px;border-radius:18px;position:relative}.close{position:absolute;right:18px;top:15px;border:0;background:none;font-size:25px;color:var(--muted);cursor:pointer}.empty{padding:40px;text-align:center;color:var(--muted)}@media(max-width:900px){.sidebar{width:72px;padding:22px 10px}.brand{padding:0 8px 40px}.brand div:last-child,.nav{font-size:0!important}.nav:before{content:'•';font-size:20px}.sidebar-foot{font-size:0}.sidebar-foot span{font-size:14px}.logout{font-size:0}main{margin-left:72px;padding:34px 5%}.grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){h1{font-size:32px}.grid,.stats{grid-template-columns:1fr}.toolbar{flex-direction:column}.primary{min-height:45px}.builder-row{grid-template-columns:1fr 100px}.builder-row input:nth-child(3){grid-column:1/-1}.builder-row button{grid-column:2}.detail-actions{margin-top:20px}}.product-form{max-width:860px}.form-section{border-top:1px solid var(--line);padding-top:20px;margin-top:8px}.section-label{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--deep);font-weight:800;margin-bottom:12px}.check{display:inline-flex!important;align-items:center;gap:9px;margin:4px 18px 4px 0!important;color:var(--text)!important;font-size:13px!important}.check input{width:16px!important;height:16px;margin:0!important;accent-color:var(--deep)}.ingredient-row{grid-template-columns:1.3fr .7fr .55fr 1fr 36px}.compact-head{margin-top:30px}.dark .section-label{color:#b8d6bd}.dark .preview-btn{color:#d8f0dc}.dark .primary{background:#4f8060}.dark .secondary{color:#d9f0dc}.dark .pill{color:#d9f0dc}.dark .nav.active,.dark .nav:hover{color:#d9f0dc}@media(max-width:700px){.ingredient-row{grid-template-columns:1fr 1fr}.ingredient-row input:nth-child(4){grid-column:1/-1}.ingredient-row select{grid-column:2}.ingredient-row button{grid-column:2}.check{display:flex!important}}.wide-modal{width:min(980px,96vw)}.summary-list{display:grid;gap:14px;margin-top:22px;max-height:62vh;overflow:auto;padding-right:4px}.summary-item{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--bg)}.summary-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.summary-head h3{margin:5px 0 4px}.summary-note{color:var(--muted);font-size:12px;margin:15px 0 0}.ingredient-row{min-width:0}.ingredient-row input,.ingredient-row select{min-width:0}.remove-row{width:36px!important;height:42px!important;padding:0!important;display:grid;place-items:center;background:#f6d9d5!important;color:#a04b3e!important}.builder-actions{align-items:center}.builder-actions .secondary,.form-section>.secondary{width:max-content;min-height:42px;white-space:nowrap}.dark .secondary{background:#36563f!important;color:#e5f6e8!important;border:1px solid #5e8b68!important}.dark .danger{background:#613b37!important;color:#ffe8e4!important}.dark .modal-card,.dark .summary-item{background:var(--card);color:var(--text)}.dark .ingredient-table th{color:#b8c9bc}.dark .phase-title{color:#e6f4e8}.dark .muted{color:#a9b8ae}@media(max-width:700px){.wide-modal{padding:22px}.summary-head{flex-direction:column}.ingredient-row{grid-template-columns:minmax(0,1fr) 86px 62px}.ingredient-row .ing-phase{grid-column:1/3}.ingredient-row .remove-row{grid-column:3;grid-row:2;width:36px!important;justify-self:end}.builder-actions{flex-wrap:wrap}.builder-actions .secondary{flex:0 0 auto;width:auto}.form-section{overflow:hidden}}.page-back{display:inline-flex;margin:0 0 8px;padding:0;color:var(--muted)}.page-back:hover{color:var(--deep)}.dark .page-back:hover{color:#d9f0dc}.toolbar+.section-head{margin-top:28px}.core-values{margin-top:42px;background:linear-gradient(135deg,#132c20,#1b3628);border:1px solid #436b50;border-top:3px solid #b48745;border-radius:16px;padding:22px 20px;color:#f4f7ef}.core-heading h2{color:#f4f7ef;margin:7px 0 5px}.core-heading>p:last-child{color:#c1d0c3;font-size:12px;margin:0}.core-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:20px}.core-grid article{min-height:128px;border:1px solid #41664e;background:#183426;border-radius:11px;padding:14px}.core-grid article b{color:#b48745;font-size:13px}.core-grid article h3{color:#a9cead;font:600 16px Georgia,serif;margin:22px 0 8px}.core-grid article p{color:#d0ddd2;font-size:10px;line-height:1.45;margin:0}.formula-actions{display:flex;gap:9px;align-items:center;margin:18px 0 4px;padding-top:15px;border-top:1px solid var(--line)}.final-button{border:1px solid #c99a55;background:#fff8ed;color:#8a632e;border-radius:10px;padding:11px 14px;font-weight:750;cursor:pointer}.final-button:hover,.final-button.active{background:#c99a55;color:#fff}.dark .core-values{background:linear-gradient(135deg,#10251a,#183225)}.dark .core-grid article{background:#152c21}.dark .core-grid article h3{color:#b7d9bb}.dark .final-button{background:#4a3921;color:#f4d99f;border-color:#a98243}.dark .final-button.active{background:#b48745;color:#18241c}.page-back{margin-top:8px}@media(max-width:900px){.core-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.core-grid{grid-template-columns:1fr}.formula-actions{flex-wrap:wrap}}.sidebar{background:#132c20;color:#f4f7ef;border-right:1px solid #2f5840}.sidebar .brand strong{color:#f4f7ef}.sidebar .brand span{color:#a9c2ad}.sidebar .nav{color:#c5d8c8}.sidebar .nav.active,.sidebar .nav:hover{background:#dfeee2;color:#1f5035}.sidebar-foot{color:#b9cdbc}.sidebar-foot>span{color:#8dc795}.sidebar .logout{color:#b9cdbc}.sidebar .logout:hover{color:#fff}.sidebar .brand-mark{background:#2f684b;color:#fff}.dark .sidebar{background:#132c20}.dark .sidebar .nav.active,.dark .sidebar .nav:hover{background:#dfeee2;color:#1f5035}.sidebar{background:#132c20!important;border-right:1px solid #41664e!important}.sidebar .brand-mark{background:#2f684b}.back{display:inline-flex;align-items:center;gap:7px;background:var(--soft);border:1px solid var(--line);border-radius:10px;color:var(--deep);font-weight:800;padding:10px 14px;margin-bottom:22px}.back:hover{background:#dfeee2;border-color:#87ad8f}.dark .back{background:#36563f;color:#e5f6e8;border-color:#5e8b68}.developer-credit,.app-developer{font-size:11px;letter-spacing:.25px}.developer-credit{display:flex;justify-content:center;gap:5px;align-items:center}.app-developer{margin-top:24px;padding-top:14px;border-top:1px solid #41664e;display:flex;gap:5px;align-items:center}.code-mark{color:#e2a24c;font-weight:800}.developer-name{color:#d6e5d7;font-weight:600}.sidebar .developer-name{color:#d6e5d7}.sidebar .code-mark{color:#e2a24c}.login-card .developer-credit{color:var(--muted)}
/* Refined Hemani footer and session controls */
.developer-credit,.app-developer{align-items:center}
.developer-credit{gap:9px;letter-spacing:.4px}
.developer-credit .code-mark,.app-developer .code-mark{font-size:15px;line-height:1;color:#e3a454}
.developer-copy{display:inline-flex;flex-direction:column;gap:2px;text-align:left;line-height:1}
.developer-label{font-size:8px;letter-spacing:1.8px;color:#9fb9a5;font-weight:800}
.developer-copy strong{font-size:11px;letter-spacing:1.4px;color:#f2d8ae;font-weight:800}
.app-developer{gap:10px;margin-top:22px;padding:13px 12px;border:1px solid #41664e;border-radius:12px;background:rgba(255,255,255,.055)}
.app-developer .developer-copy strong{color:#f2d8ae}
.logout{display:flex;align-items:center;gap:9px;width:100%;margin-top:16px;padding:11px 12px!important;border:1px solid #41664e!important;border-radius:10px!important;background:rgba(255,255,255,.045)!important;color:#d6e5d7!important;font-size:12px!important;font-weight:700;transition:.2s}
.logout:hover{background:#244b35!important;border-color:#6a9b74!important;color:#fff!important;transform:translateY(-1px)}
.logout-icon{font-size:17px;line-height:1;color:#e3a454}
.login-card .developer-credit{padding-top:20px}
.login-card .developer-label{color:var(--green)}
.login-card .developer-copy strong{color:var(--deep)}
.dark .login-card .developer-copy strong{color:#f2d8ae}
@media(max-width:900px){
  .app-developer{justify-content:center;padding:12px 8px}
  .app-developer .developer-copy{display:none}
  .logout{justify-content:center}
  .logout span:last-child{display:none}
}

/* Compact sidebar developer credit */
.sidebar .app-developer{display:flex;align-items:center;gap:7px;width:max-content;margin-top:18px;padding:0;border:0;background:none;line-height:1}
.sidebar .app-developer .code-mark{font-size:13px;color:#e3a454}
.sidebar .app-developer .developer-name{font-size:12px;color:#f2d8ae;font-weight:800;letter-spacing:.2px}

/* Final compact sidebar credit */
.sidebar .app-developer{display:flex;align-items:center;gap:7px;width:max-content;margin-top:18px;padding:0;border:0;background:none;line-height:1}
.sidebar .app-developer .code-mark{font-size:13px;color:#e3a454}
.sidebar .app-developer .developer-name{font-size:10px;color:#b9cdbc;font-weight:600;letter-spacing:.65px}
.sidebar .app-developer .developer-name strong{color:#f2d8ae;font-weight:800}

/* Center the small developer credit beneath Sign out */
.sidebar .sidebar-foot{display:flex;flex-direction:column;align-items:stretch}
.sidebar .app-developer{justify-content:center;align-self:center;margin-top:10px;text-align:center}
.sidebar .app-developer .developer-name{font-size:9px;letter-spacing:.55px}

/* Anchor the sidebar footer to the very bottom */
.sidebar{position:fixed}
.sidebar .sidebar-foot{position:absolute;left:18px;right:18px;bottom:18px;margin-top:0}
.sidebar .app-developer{margin-top:10px}
@media(max-width:900px){
  .sidebar .sidebar-foot{left:10px;right:10px;bottom:14px}
}

/* Live cloud connection indicator */
.sidebar .cloud-status{display:flex;align-items:center;gap:8px;margin:0 0 2px;color:#b9cdbc;font-size:9px;font-weight:800;letter-spacing:1px}
.sidebar .cloud-dot{width:7px;height:7px;border-radius:50%;background:#d69a4b;box-shadow:0 0 0 3px rgba(214,154,75,.15)}
.sidebar .cloud-status.connected{color:#bfe7c3}
.sidebar .cloud-status.connected .cloud-dot{background:#79c984;box-shadow:0 0 0 3px rgba(121,201,132,.16)}
.sidebar .cloud-status.disconnected{color:#e5b5a8}
.sidebar .cloud-status.disconnected .cloud-dot{background:#c87968;box-shadow:0 0 0 3px rgba(200,121,104,.16)}
