:root{font-family:Arial,Helvetica,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;padding:24px}.app-shell{background:#f5f5f5;min-height:100vh}.app-navbar{color:#fff;background:#111;border-bottom:1px solid #222}.app-navbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:16px 20px;display:flex}.app-brand{color:#fff;font-size:22px;font-weight:700;text-decoration:none}.app-nav-links{flex-wrap:wrap;gap:16px;display:flex}.app-nav-links a{color:#fff;opacity:.9;font-weight:600;text-decoration:none}.app-nav-links a:hover{opacity:1}.app-content{padding:0}.app-nav-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.app-logout-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff;border-radius:6px;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s,color .2s}.app-logout-button:hover:not(:disabled){color:#111;background:#fff}.app-logout-button:disabled{opacity:.5;cursor:not-allowed}.home-page{max-width:1100px;margin:0 auto;padding:32px 20px 48px}.home-hero{margin-bottom:24px}.home-kicker{letter-spacing:.08em;text-transform:uppercase;color:#666;margin:0 0 8px;font-size:13px}.home-hero h1{margin:0 0 12px;font-size:42px}.home-description{color:#555;max-width:720px;margin:0;line-height:1.6}.home-grid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:20px;display:grid}.home-card{background:#fff;border:1px solid #ddd;border-radius:16px;padding:24px}.home-card h2{margin-top:0;margin-bottom:10px}.home-card p{color:#555;margin-top:0}.home-form label{margin-bottom:8px;font-weight:600;display:block}.home-form-row{gap:10px;margin-bottom:16px;display:flex}.home-form-row input{border:1px solid #cfcfcf;border-radius:8px;flex:1;padding:10px 12px;font-size:16px}.home-form-row button,.home-card button,.home-button-link{color:#fff;cursor:pointer;background:#111;border:none;border-radius:8px;padding:10px 16px;font-size:15px;font-weight:600}.home-button-link{text-align:center;text-decoration:none;display:inline-block}.home-card button:disabled{opacity:.5;cursor:not-allowed}.home-links{flex-wrap:wrap;gap:12px;display:flex}.home-links a{color:#111;font-weight:600;text-decoration:none}@media (width<=800px){.home-grid{grid-template-columns:1fr}.home-hero h1{font-size:34px}.home-form-row{flex-direction:column}}.meal-breakdown-page{max-width:1200px;margin:0 auto;padding:32px 20px 48px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.page-kicker{letter-spacing:.08em;text-transform:uppercase;color:#666;margin:0 0 6px;font-size:13px}.page-title{margin:0;font-size:40px}.page-subtitle{color:#555;margin:8px 0 0}.meal-search-form{background:#f7f7f7;border:1px solid #ddd;border-radius:12px;min-width:280px;padding:16px}.meal-search-form label{margin-bottom:10px;font-weight:600;display:block}.meal-search-row{gap:10px;display:flex}.meal-search-row input{border:1px solid #cfcfcf;border-radius:8px;flex:1;padding:10px 12px;font-size:16px}.meal-search-row button{cursor:pointer;color:#fff;background:#111;border:none;border-radius:8px;padding:10px 16px;font-size:15px;font-weight:600}.meal-search-row button:disabled{opacity:.5;cursor:not-allowed}.meal-summary-card{background:#fafafa;border:1px solid #ddd;border-radius:16px;margin-bottom:28px;padding:24px}.meal-summary-top{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px;display:flex}.meal-summary-top h2{margin:0;font-size:32px}.meal-notes{color:#555;margin:8px 0 0}.meal-id-badge{color:#fff;background:#111;border-radius:999px;padding:10px 14px;font-weight:600}.summary-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:16px;display:grid}.summary-box{background:#fff;border:1px solid #e2e2e2;border-radius:12px;padding:16px}.summary-label{color:#666;margin-bottom:8px;font-size:13px;display:block}.summary-box strong{font-size:24px}.recipes-section h3{margin:0 0 16px;font-size:28px}.recipe-card{background:#fff;border:1px solid #ddd;border-radius:16px;margin-bottom:18px;padding:22px}.recipe-header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;margin-bottom:12px;display:flex}.recipe-header h4{margin:0 0 8px;font-size:26px}.recipe-meta{color:#555;margin:0}.recipe-calories{background:#f4f4f4;border-radius:10px;padding:10px 14px;font-weight:700}.recipe-macros{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.recipe-macros span{background:#f8f8f8;border:1px solid #e3e3e3;border-radius:999px;padding:8px 12px}.ingredients-table-wrapper{overflow-x:auto}.ingredients-table{border-collapse:collapse;width:100%}.ingredients-table th,.ingredients-table td{text-align:left;border-bottom:1px solid #ececec;padding:12px 10px}.ingredients-table th{color:#555;font-size:14px}@media (width<=900px){.summary-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.page-title{font-size:32px}.meal-summary-top h2{font-size:28px}.recipe-header h4{font-size:22px}}@media (width<=600px){.summary-grid{grid-template-columns:1fr}.meal-search-row{flex-direction:column}}.back-link{color:#111;margin-bottom:10px;font-weight:600;text-decoration:none;display:inline-block}.add-ingredient-page{max-width:1000px;margin:0 auto;padding:32px 20px 48px}.add-ingredient-header{margin-bottom:24px}.add-ingredient-header h1{margin:6px 0 10px;font-size:40px}.add-ingredient-header p{color:#555;margin-top:0}.ingredient-form{flex-direction:column;gap:20px;display:flex}.form-card{background:#fff;border:1px solid #ddd;border-radius:16px;padding:24px}.form-card h2{margin-top:0;margin-bottom:20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.nutrition-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.form-field{flex-direction:column;gap:8px;display:flex}.form-field-full{grid-column:1/-1}.form-field label{font-weight:600}.form-field input,.form-field select,.form-field textarea{width:100%;font:inherit;background:#fff;border:1px solid #ccc;border-radius:9px;padding:11px 12px}.form-field textarea{resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline-offset:1px;outline:2px solid #222}.calories-hint{color:#666;margin:18px 0 0;font-size:14px}.form-actions{justify-content:flex-end;gap:12px;display:flex}.result-grid{grid-template-columns:repeat(3,minmax(120px,1fr));gap:14px;display:grid}.result-grid div{background:#fff;border:1px solid #ddd;border-radius:10px;padding:14px}.result-grid span{color:#666;margin-bottom:6px;font-size:13px;display:block}.result-grid strong{font-size:18px}@media (width<=800px){.nutrition-grid,.form-grid{grid-template-columns:1fr}.form-field-full{grid-column:auto}.result-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.add-ingredient-header h1{font-size:34px}}@media (width<=500px){.result-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.primary-button,.secondary-button{width:100%}}.ingredients-page{max-width:1200px;margin:0 auto;padding:32px 20px 48px}.ingredients-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.ingredients-header h1{margin:6px 0 10px;font-size:40px}.ingredients-header p{color:#555;margin:0}.add-ingredient-link{color:#fff;background:#111;border-radius:9px;padding:11px 16px;font-weight:600;text-decoration:none;display:inline-block}.ingredients-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.ingredient-search input{border:1px solid #ccc;border-radius:9px;width:100%;padding:11px 13px;font-size:16px}.ingredients-count{color:#666;font-size:14px}.ingredients-table-wrapper{background:#fff;border:1px solid #ddd;border-radius:16px;overflow-x:auto}.ingredients-list-table{border-collapse:collapse;width:100%}.ingredients-list-table th,.ingredients-list-table td{text-align:left;border-bottom:1px solid #eee;padding:14px 16px}.ingredients-list-table th{color:#555;background:#fafafa;font-size:14px}.ingredients-list-table tbody tr:last-child td{border-bottom:none}.ingredients-list-table tbody tr:hover{background:#fafafa}.ingredient-name{font-weight:600}@media (width<=700px){.ingredients-header h1{font-size:34px}.add-ingredient-link{text-align:center;width:100%}}.create-recipe-page{max-width:1200px;margin:0 auto;padding:32px 20px 48px}.create-recipe-header{margin-bottom:24px}.create-recipe-header h1{margin:6px 0 10px;font-size:40px}.create-recipe-header p{color:#555;margin-top:0}.recipe-name-card{background:#fff;border:1px solid #ddd;border-radius:16px;margin-bottom:20px;padding:22px}.recipe-name-card label{margin-bottom:8px;font-weight:600;display:block}.recipe-name-card input{box-sizing:border-box;border:1px solid #ccc;border-radius:9px;width:100%;padding:11px 12px;font-size:16px}.recipe-name-card input:focus{outline-offset:1px;outline:2px solid #222}.recipe-builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.recipe-builder-card{background:#fff;border:1px solid #ddd;border-radius:16px;padding:22px}.builder-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.builder-card-header h2{margin:0 0 6px}.builder-card-header p{color:#666;margin:0}.ingredient-search{width:100%}.ingredient-search label{margin-bottom:8px;font-weight:600;display:block}.ingredient-search input{box-sizing:border-box;border:1px solid #ccc;border-radius:9px;width:100%;padding:11px 12px;font-size:16px}.ingredient-search input:focus{outline-offset:1px;outline:2px solid #222}.available-ingredients-list,.selected-ingredients-list{flex-direction:column;gap:10px;margin-top:18px;display:flex}.available-ingredient{border:1px solid #e3e3e3;border-radius:11px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.available-ingredient-info{min-width:0}.available-ingredient strong,.selected-ingredient strong{display:block}.available-ingredient span,.selected-ingredient span{color:#666;margin-top:4px;font-size:14px;display:block}.ingredient-brand{color:#777;font-size:13px}.ingredient-macros{color:#555!important;font-size:13px!important}.available-ingredient button{color:#fff;cursor:pointer;white-space:nowrap;background:#111;border:none;border-radius:8px;flex-shrink:0;padding:9px 12px;font-weight:600}.available-ingredient button:hover{opacity:.85}.selected-ingredient{border:1px solid #e3e3e3;border-radius:11px;padding:14px}.selected-ingredient-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.remove-ingredient-button{color:#a12626;cursor:pointer;background:0 0;border:none;font-weight:600}.remove-ingredient-button:hover{text-decoration:underline}.selected-ingredient-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.selected-ingredient-fields label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.selected-ingredient-fields input{box-sizing:border-box;width:100%;font:inherit;border:1px solid #ccc;border-radius:8px;padding:9px 10px}.selected-ingredient-fields input:focus{outline-offset:1px;outline:2px solid #222}.unit-display{box-sizing:border-box;color:#555;background:#f7f7f7;border:1px solid #ddd;border-radius:8px;width:100%;padding:9px 10px}.ingredient-nutrition-preview{border-top:1px solid #eee;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px;margin-top:14px;padding-top:14px;display:grid}.ingredient-nutrition-preview span{color:#666;margin:0;font-size:12px}.ingredient-nutrition-preview strong{color:#111;margin-top:4px;font-size:14px;display:block}.recipe-empty-state{text-align:center;color:#666;border:1px dashed #ccc;border-radius:11px;padding:22px}.state-message{background:#f7f7f7;border-radius:10px;margin-top:18px;padding:14px}.recipe-preview-summary{background:#fff;border:1px solid #ddd;border-radius:16px;grid-template-columns:repeat(5,minmax(120px,1fr));gap:14px;margin-top:20px;padding:20px;display:grid}.recipe-preview-summary div{background:#fafafa;border:1px solid #eee;border-radius:10px;padding:14px}.recipe-preview-summary span{color:#666;margin-bottom:6px;font-size:13px;display:block}.recipe-preview-summary strong{font-size:18px}.recipe-form-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){opacity:.85}.result-kicker{text-transform:uppercase;letter-spacing:.06em;color:#555;margin:0 0 6px;font-size:13px}.form-result h2{margin:0 0 20px}.recipe-success-summary{grid-template-columns:repeat(3,minmax(120px,1fr));gap:14px;display:grid}.recipe-success-summary div{background:#fff;border:1px solid #ddd;border-radius:10px;padding:14px}.recipe-success-summary span{color:#666;margin-bottom:6px;font-size:13px;display:block}.recipe-success-summary strong{font-size:18px}@media (width<=950px){.recipe-builder{grid-template-columns:1fr}.recipe-preview-summary{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media (width<=700px){.ingredient-nutrition-preview{grid-template-columns:repeat(2,minmax(90px,1fr))}.recipe-preview-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}.create-recipe-header h1{font-size:34px}}@media (width<=500px){.available-ingredient{flex-direction:column;align-items:flex-start}.available-ingredient button{width:100%}.selected-ingredient-fields,.ingredient-nutrition-preview,.recipe-preview-summary,.recipe-success-summary{grid-template-columns:1fr}.recipe-form-actions{flex-direction:column-reverse}.primary-button,.secondary-button{width:100%}}.recipes-page{max-width:1200px;margin:0 auto;padding:32px 20px 48px}.recipes-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.recipes-header h1{margin:6px 0 10px;font-size:40px}.recipes-header p{color:#555;margin:0}.create-recipe-link{color:#fff;background:#111;border-radius:9px;padding:12px 16px;font-weight:600;text-decoration:none;display:inline-block}.create-recipe-link:hover{opacity:.85}.recipes-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.recipe-search{width:min(600px,100%)}.recipe-search label{margin-bottom:8px;font-weight:600;display:block}.recipe-search input{box-sizing:border-box;border:1px solid #ccc;border-radius:9px;width:100%;padding:11px 13px;font-size:16px}.recipe-search input:focus{outline-offset:1px;outline:2px solid #222}.recipes-count{color:#666;font-size:14px}.recipes-table-wrapper{background:#fff;border:1px solid #ddd;border-radius:16px;overflow-x:auto}.recipes-table{border-collapse:collapse;width:100%}.recipes-table th{color:#555;background:#fafafa;font-size:14px;font-weight:600}.recipes-table th,.recipes-table td{text-align:left;vertical-align:top;border-bottom:1px solid #eee;padding:16px}.recipes-table tbody tr:last-child td{border-bottom:none}.recipes-table tbody tr:hover{background:#fcfcfc}.recipes-table th:first-child{width:25%}.recipes-table th:nth-child(2){width:22%}.recipes-table th:nth-child(3){width:53%}.recipe-name-cell strong{font-size:16px;display:block}.recipe-name-cell span{color:#777;margin-top:6px;font-size:13px;display:block}.recipe-total-nutrition{flex-direction:column;gap:10px;display:flex}.recipe-calories{font-size:17px}.macro-badges{flex-wrap:wrap;gap:6px;display:flex}.macro-badges span{white-space:nowrap;background:#f3f3f3;border:1px solid #e4e4e4;border-radius:999px;padding:5px 8px;font-size:12px}.recipe-ingredients-list{flex-direction:column;display:flex}.recipe-ingredient-row{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:24px;padding:10px 0;display:flex}.recipe-ingredient-row:first-child{padding-top:0}.recipe-ingredient-row:last-child{border-bottom:none;padding-bottom:0}.recipe-ingredient-main{min-width:150px}.recipe-ingredient-main strong{display:block}.recipe-ingredient-main span{color:#777;margin-top:4px;font-size:13px;display:block}.recipe-ingredient-nutrition{text-align:right;white-space:nowrap}.recipe-ingredient-nutrition strong{font-size:14px;display:block}.recipe-ingredient-nutrition span{color:#666;margin-top:4px;font-size:12px;display:block}.state-message{background:#f7f7f7;border-radius:10px;padding:16px}.error-message{color:#a12626;background:#fff1f1}.empty-state{text-align:center;background:#fff;border:1px solid #ddd;border-radius:16px;padding:32px}.empty-state h2{margin-top:0}.empty-state p{color:#666;margin-bottom:0}@media (width<=800px){.recipes-header h1{font-size:34px}.create-recipe-link{box-sizing:border-box;text-align:center;width:100%}}@media (width<=650px){.recipe-ingredient-row{flex-direction:column;align-items:flex-start;gap:8px}.recipe-ingredient-nutrition{text-align:left}}.create-meal-page{max-width:1200px;margin:0 auto;padding:32px 20px 48px}.create-meal-header{margin-bottom:24px}.create-meal-header h1{margin:6px 0 10px;font-size:40px}.create-meal-header p{color:#555;margin-top:0}.meal-information-card{background:#fff;border:1px solid #ddd;border-radius:16px;margin-bottom:20px;padding:22px}.meal-information-card h2{margin:0 0 20px}.meal-information-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.meal-form-field{flex-direction:column;gap:8px;display:flex}.meal-form-field label{font-weight:600}.meal-form-field input{box-sizing:border-box;border:1px solid #ccc;border-radius:9px;width:100%;padding:11px 12px;font-size:16px}.meal-form-field input:focus{outline-offset:1px;outline:2px solid #222}.meal-builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.meal-builder-card{background:#fff;border:1px solid #ddd;border-radius:16px;padding:22px}.meal-builder-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.meal-builder-header h2{margin:0 0 6px}.meal-builder-header p{color:#666;margin:0}.meal-recipe-search label{margin-bottom:8px;font-weight:600;display:block}.meal-recipe-search input{box-sizing:border-box;border:1px solid #ccc;border-radius:9px;width:100%;padding:11px 12px;font-size:16px}.meal-recipe-search input:focus{outline-offset:1px;outline:2px solid #222}.available-recipes-list,.selected-recipes-list{flex-direction:column;gap:10px;margin-top:18px;display:flex}.available-recipe{border:1px solid #e3e3e3;border-radius:11px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.available-recipe-info{min-width:0}.available-recipe-info strong{display:block}.available-recipe-info span{color:#666;margin-top:4px;font-size:13px;display:block}.available-recipe-macros{color:#444!important}.times-added{font-weight:600;color:#111!important}.available-recipe button{color:#fff;cursor:pointer;background:#111;border:none;border-radius:8px;flex-shrink:0;padding:9px 12px;font-weight:600}.available-recipe button:hover{opacity:.85}.selected-recipe{border:1px solid #e3e3e3;border-radius:12px;padding:15px}.selected-recipe-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.selected-recipe-top strong{margin-top:6px;display:block}.meal-slot{color:#fff;background:#111;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-block}.remove-recipe-button{color:#a12626;cursor:pointer;background:0 0;border:none;font-weight:600}.remove-recipe-button:hover{text-decoration:underline}.selected-recipe-nutrition{border-top:1px solid #eee;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px;margin-top:14px;padding-top:14px;display:grid}.selected-recipe-nutrition span{color:#666;font-size:12px}.selected-recipe-nutrition strong{color:#111;margin-top:4px;font-size:14px;display:block}.recipe-order-controls{gap:8px;margin-top:14px;display:flex}.recipe-order-controls button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:600}.recipe-order-controls button:disabled{opacity:.4;cursor:not-allowed}.selected-count{color:#fff;background:#111;border-radius:999px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 10px;font-weight:700;display:flex}.meal-empty-state{text-align:center;color:#666;border:1px dashed #ccc;border-radius:11px;padding:22px}.meal-preview-summary{background:#fff;border:1px solid #ddd;border-radius:16px;grid-template-columns:repeat(5,minmax(120px,1fr));gap:14px;margin-top:20px;padding:20px;display:grid}.meal-preview-summary div{background:#fafafa;border:1px solid #eee;border-radius:10px;padding:14px}.meal-preview-summary span{color:#666;margin-bottom:6px;font-size:13px;display:block}.meal-preview-summary strong{font-size:18px}.meal-form-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.primary-button,.secondary-button{cursor:pointer;border-radius:9px;padding:11px 18px;font-size:15px;font-weight:600}.primary-button{color:#fff;background:#111;border:none}.secondary-button{color:#111;background:#fff;border:1px solid #ccc}.primary-button:disabled,.secondary-button:disabled{opacity:.5;cursor:not-allowed}.form-result{border-radius:16px;margin-top:24px;padding:24px}.success-result{background:#f5fff7;border:1px solid #bddfc5}.error-result{background:#fff3f3;border:1px solid #e3baba}.result-kicker{color:#555;text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;font-size:13px}.meal-success-summary{grid-template-columns:repeat(3,minmax(120px,1fr));gap:14px;display:grid}.meal-success-summary div{background:#fff;border:1px solid #ddd;border-radius:10px;padding:14px}.meal-success-summary span{color:#666;margin-bottom:6px;font-size:13px;display:block}.meal-success-summary strong{font-size:18px}@media (width<=950px){.meal-builder{grid-template-columns:1fr}.meal-preview-summary{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media (width<=700px){.meal-information-grid{grid-template-columns:1fr}.selected-recipe-nutrition{grid-template-columns:repeat(2,minmax(90px,1fr))}.meal-preview-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}.create-meal-header h1{font-size:34px}}@media (width<=500px){.available-recipe{flex-direction:column;align-items:flex-start}.available-recipe button{width:100%}.selected-recipe-nutrition,.meal-preview-summary,.meal-success-summary{grid-template-columns:1fr}.recipe-order-controls{flex-direction:column}.meal-form-actions{flex-direction:column-reverse}.primary-button,.secondary-button{width:100%}}:root{--dp-navy:#be3a3ac9;--dp-light-blue:#7fc4d3;--dp-green:#71994d;--dp-yellow:#f2bb45;--dp-red:#db5760;--dp-background:#eef6f5;--dp-text:#173042;--dp-muted:#6f7f87;--dp-glass:#ffffff8f;--dp-glass-border:#ffffffc2}.login-page{min-height:100vh;color:var(--dp-text);background:linear-gradient(135deg,#dceff2 0%,#e7f3f2 48%,#f3f3e8 100%);justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:hidden}.login-background{pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-blob{filter:blur(32px);opacity:.55;will-change:transform;border-radius:50%;position:absolute}.login-blob--blue{background:#7fc4d3b3;width:430px;height:430px;animation:14s ease-in-out infinite alternate moveBlue;top:-120px;left:-100px}@keyframes moveBlue{0%{transform:translate(0,0)scale(1)}50%{transform:translate(100px,70px)scale(1.12)}to{transform:translate(190px,-10px)scale(.95)}}.login-blob--green{background:#71994d66;width:380px;height:380px;animation:18s ease-in-out infinite alternate moveGreen;bottom:-100px;right:-90px}@keyframes moveGreen{0%{transform:translate(0,0)scale(1)}50%{transform:translate(-120px,-70px)scale(1.1)}to{transform:translate(-220px,30px)scale(.92)}}.login-blob--yellow{background:#f2bb4557;width:250px;height:250px;animation:16s ease-in-out infinite alternate moveYellow;top:58%;left:48%}@keyframes moveYellow{0%{transform:translate(0,0)scale(1)}50%{transform:translate(80px,-100px)scale(1.18)}to{transform:translate(-70px,-40px)scale(.95)}}.login-card{z-index:1;border:1px solid var(--dp-glass-border);background:var(--dp-glass);-webkit-backdrop-filter:blur(24px);border-radius:26px;width:min(420px,100%);padding:42px;animation:.7s cubic-bezier(.22,1,.36,1) loginEnter;position:relative;box-shadow:0 30px 80px #1b50702e,inset 0 1px #ffffffe6}@keyframes loginEnter{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-header{text-align:center;margin-bottom:34px}.login-logo{background:linear-gradient(135deg, var(--dp-navy), #2b7898);color:#fff;letter-spacing:-.3px;border-radius:18px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 18px;font-size:19px;font-weight:800;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 12px 30px #1b507047}.login-logo:hover{transform:translateY(-2px)rotate(-2deg);box-shadow:0 16px 35px #1b507052}.login-header h1{color:var(--dp-navy);letter-spacing:-.7px;margin:0;font-size:30px;font-weight:750}.login-header p{color:var(--dp-muted);margin:8px 0 0;font-size:14px}.login-form{flex-direction:column;gap:20px;display:flex}.login-form label{color:var(--dp-navy);flex-direction:column;gap:8px;font-size:13px;font-weight:650;display:flex}.login-form input{box-sizing:border-box;width:100%;height:48px;color:var(--dp-text);background:#ffffffb8;border:1px solid #1b50702e;border-radius:12px;outline:none;padding:0 14px;font-size:15px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.login-form input:hover{background:#ffffffd1;border-color:#1b50704d}.login-form input:focus{border-color:var(--dp-light-blue);background:#fffffff2;box-shadow:0 0 0 4px #7fc4d33d}.login-form button{cursor:pointer;background:linear-gradient(120deg, var(--dp-navy), #287a98, var(--dp-navy));color:#fff;background-size:200% 100%;border:none;border-radius:13px;width:100%;height:50px;margin-top:6px;font-size:14px;font-weight:700;transition:transform .18s,box-shadow .18s,opacity .18s;animation:8s linear infinite buttonGradient;position:relative;overflow:hidden;box-shadow:0 8px 20px #1b507029}.login-form button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #1b507047}.login-form button:active:not(:disabled){transform:translateY(0)}.login-form button:disabled{cursor:not-allowed;opacity:.62;transform:none}@keyframes buttonGradient{0%{background-position:0%}to{background-position:200%}}.login-error{color:#a33b44;background:#db57601a;border:1px solid #db576040;border-radius:10px;padding:11px 13px;font-size:13px}@media (width<=600px){.login-page{padding:18px}.login-card{border-radius:22px;padding:34px 24px}.login-header{margin-bottom:28px}.login-header h1{font-size:27px}.login-logo{border-radius:16px;width:52px;height:52px}.login-blob--blue{width:320px;height:320px}.login-blob--green{width:300px;height:300px}.login-blob--yellow{width:200px;height:200px}}@media (prefers-reduced-motion:reduce){.login-card,.login-blob,.login-form button{animation:none}.login-logo,.login-form input,.login-form button{transition:none}}
