:root{--color-primary-100:#cdd8bb;--color-primary-200:#a3bc9e;--color-primary-300:#78a085;--color-primary-400:#5d8a6e;--color-primary-500:#476e57;--color-neutral-50:#fefefc;--color-neutral-100:beige;--color-neutral-200:#f3f3cc;--color-neutral-300:#acac9a;--color-neutral-400:#bdbda5;--color-neutral-500:#9a8058;--color-neutral-700:#474838;--color-warning-light:#ffc7a0;--color-warning:#f6906c;--color-warning-dark:#b95c3b;--color-accent:#d8a23a;--color-accent-light:#f0d89a;--color-accent-dark:#9a6e20;--color-success-light:#cdd8bb;--color-success:#78a085;--color-success-dark:#476e57;--color-error-light:#ffeae0;--color-error:#b95c3b;--color-error-dark:#8f3d22;--color-info-light:#f3f3cc;--color-info:#9a8058;--color-info-dark:#474838;--color-bg-base:var(--color-neutral-100);--color-bg-surface:#fff;--color-bg-subtle:var(--color-neutral-200);--color-bg-inverse:var(--color-neutral-700);--color-text-primary:var(--color-neutral-700);--color-text-secondary:var(--color-neutral-500);--color-text-placeholder:var(--color-neutral-400);--color-text-disabled:var(--color-neutral-300);--color-text-inverse:#fff;--color-text-brand:var(--color-primary-300);--color-text-accent:var(--color-accent);--color-text-warning:var(--color-warning-dark);--color-border-default:var(--color-neutral-400);--color-border-strong:var(--color-neutral-300);--color-border-brand:var(--color-primary-200);--color-border-focus:var(--color-primary-300);--color-border-error:var(--color-error);--color-border-warning:var(--color-warning)}@font-face{font-family:LeeSeoyun;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2202-2@1.0/LeeSeoyun.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:LeeSeoyun;src:url(https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2202-2@1.0/LeeSeoyun.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--font-sans:"LeeSeoyun", "Pretendard", -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--letter-spacing-tight:-.025em;--letter-spacing-normal:0em;--letter-spacing-wide:.025em;--letter-spacing-wider:.05em;--letter-spacing-widest:.1em;--text-heading-1-size:var(--font-size-3xl);--text-heading-1-weight:var(--font-weight-bold);--text-heading-1-lh:var(--line-height-tight);--text-heading-2-size:var(--font-size-2xl);--text-heading-2-weight:var(--font-weight-semibold);--text-heading-2-lh:var(--line-height-tight);--text-heading-3-size:var(--font-size-xl);--text-heading-3-weight:var(--font-weight-semibold);--text-heading-3-lh:var(--line-height-snug);--text-heading-4-size:var(--font-size-lg);--text-heading-4-weight:var(--font-weight-medium);--text-heading-4-lh:var(--line-height-snug);--text-body-lg-size:var(--font-size-lg);--text-body-lg-weight:var(--font-weight-regular);--text-body-lg-lh:var(--line-height-relaxed);--text-body-md-size:var(--font-size-md);--text-body-md-weight:var(--font-weight-regular);--text-body-md-lh:var(--line-height-normal);--text-body-sm-size:var(--font-size-sm);--text-body-sm-weight:var(--font-weight-regular);--text-body-sm-lh:var(--line-height-normal);--text-label-size:var(--font-size-sm);--text-label-weight:var(--font-weight-medium);--text-label-lh:var(--line-height-normal);--text-caption-size:var(--font-size-xs);--text-caption-weight:var(--font-weight-regular);--text-caption-lh:var(--line-height-normal);--spacing-0:0;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--layout-page-padding-x:var(--spacing-4);--layout-page-padding-y:var(--spacing-6);--layout-content-max-w:480px;--layout-navbar-height:56px;--layout-header-height:60px;--layout-card-padding:var(--spacing-4);--layout-section-gap:var(--spacing-6);--radius-none:0;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-none:none;--shadow-sm:0 1px 3px #47483814, 0 1px 2px #4748380a;--shadow-md:0 4px 12px #4748381a, 0 2px 4px #4748380f;--shadow-lg:0 8px 24px #4748381f, 0 4px 8px #4748380f;--shadow-xl:0 16px 40px #47483824, 0 8px 16px #47483814;--shadow-warning:0 4px 12px #f6906c40;--shadow-error:0 4px 12px #b95c3b33;--shadow-brand:0 4px 14px #78a08559;--border-width-thin:1px;--border-width-medium:1.5px;--border-width-thick:2px;--z-index-hide:-1;--z-index-base:0;--z-index-raised:10;--z-index-dropdown:100;--z-index-sticky:200;--z-index-overlay:300;--z-index-modal:400;--z-index-popover:500;--z-index-toast:600;--z-index-top:9999;--transition-fast:.1s ease;--transition-base:.2s ease;--transition-slow:.3s ease-in-out;--transition-spring:.4s cubic-bezier(.34, 1.56, .64, 1)}.btn{justify-content:center;align-items:center;gap:var(--spacing-2);font-family:var(--font-sans);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:1.5px solid #0000;text-decoration:none;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:var(--color-primary-300);color:#fff;border-color:var(--color-primary-300)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-400);border-color:var(--color-primary-400);box-shadow:var(--shadow-brand)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-500)}.btn-secondary{color:var(--color-primary-300);border-color:var(--color-primary-300);background-color:#0000}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary-100)}.btn-secondary:active:not(:disabled){background-color:var(--color-primary-200)}.btn-warning{background-color:var(--color-warning-dark);color:#fff;border-color:var(--color-warning-dark)}.btn-warning:hover:not(:disabled){background-color:var(--color-error-dark);box-shadow:var(--shadow-warning)}.btn-sm{height:32px;padding:0 var(--spacing-3);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.btn-md{height:44px;padding:0 var(--spacing-6);font-size:var(--font-size-md)}.btn-lg{height:52px;padding:0 var(--spacing-8);font-size:var(--font-size-lg)}.btn-full{width:100%}.btn-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite btn-spin;display:inline-block}.btn-text-loading{opacity:.8}@keyframes btn-spin{to{transform:rotate(360deg)}}.input-wrapper{gap:var(--spacing-2);flex-direction:column;width:100%;display:flex}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.input-container{background-color:var(--color-neutral-100);border:1.5px solid var(--color-border-default);border-radius:var(--radius-md);transition:border-color var(--transition-base);align-items:center;display:flex;overflow:hidden}.input-container:focus-within{border-color:var(--color-border-focus);background-color:#fff}.input-container.input-error{border-color:var(--color-border-error);background-color:#fff}.input-field{height:48px;padding:0 var(--spacing-4);font-size:var(--font-size-md);color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;width:100%}.input-field::placeholder{color:var(--color-text-placeholder)}.input-field:disabled{cursor:not-allowed;color:var(--color-text-disabled)}.input-toggle{padding:0 var(--spacing-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--transition-base);background:0 0;border:none}.input-toggle:hover{color:var(--color-text-brand)}.input-error-msg{font-size:var(--font-size-xs);color:var(--color-text-warning)}.input-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.modal-overlay{z-index:var(--z-index-modal);padding:var(--spacing-4);background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{border-radius:var(--radius-xl);background-color:#fff;width:100%;max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 8px 24px #47483826}.modal-sm{max-width:400px}.modal-md{max-width:480px}.modal-lg{max-width:600px}.modal-warning{border-top:3px solid var(--color-warning)}.modal-header{padding:var(--spacing-6) var(--spacing-6) 0;justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.modal-title-warning{color:var(--color-warning-dark)}.modal-close{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-secondary);font-size:var(--font-size-md);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;display:flex}.modal-close:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-6)}.loading-wrapper{justify-content:center;align-items:center;gap:var(--spacing-4);flex-direction:column;display:flex}.loading-fullscreen{z-index:var(--z-index-modal);background-color:#0006;position:fixed;inset:0}.loading-spinner{justify-content:center;align-items:center;display:flex;position:relative}.loading-sm{width:32px;height:32px}.loading-md{width:56px;height:56px}.loading-lg{width:80px;height:80px}.loading-track{border:4px solid var(--color-primary-100);border-radius:50%;position:absolute;inset:0}.loading-circle{border:4px solid #0000;border-top-color:var(--color-primary-300);border-radius:50%;animation:.8s linear infinite loading-spin;position:absolute;inset:0}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-text{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:0}.loading-subtext{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:0}.loading-progress-track{background-color:var(--color-neutral-200);border-radius:var(--radius-full);width:300px;height:6px;overflow:hidden}.loading-progress-bar{background-color:var(--color-primary-300);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px;line-height:1.15}body{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;min-height:100vh}*{font-family:LeeSeoyun,Pretendard,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif!important}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-4);color:var(--color-text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--spacing-4);line-height:var(--line-height-relaxed)}a{color:var(--color-text-brand);transition:color var(--transition-base);text-decoration:none}a:hover{color:var(--color-primary-400);text-decoration:underline}img,svg{max-width:100%;display:block}button{cursor:pointer;font-family:var(--font-sans);font-size:inherit;color:inherit;background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);outline:none}input::placeholder,textarea::placeholder{color:var(--color-text-placeholder)}ul,ol{list-style:none}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-subtle)}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}::selection{background-color:var(--color-primary-100);color:var(--color-text-primary)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.navbar{background-color:var(--color-bg-base);border-bottom:var(--border-width-thin) solid var(--color-border-default);width:100%}.navbar__container{max-width:1440px;height:90px;padding:0 var(--spacing-8);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar__logo{align-items:center;gap:var(--spacing-3);color:var(--color-text-primary);text-decoration:none;display:flex}.navbar__logo-image{object-fit:contain;width:110px;height:110px}.navbar__logo-text{font-family:"IsYun", var(--font-sans);font-size:var(--font-size-xl);font-weight:var(--font-weight-regular);color:var(--color-text-primary)}.navbar__nav{align-items:center;gap:var(--spacing-12);display:flex;position:absolute;left:50%;transform:translate(-50%)}.navbar__nav-item{font-family:"IsYun", var(--font-sans);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);transition:var(--transition-base);text-decoration:none}.navbar__nav-item:hover{color:var(--color-text-brand);background-color:#78a0851a}.navbar__nav-item--active{color:var(--color-primary-300);font-weight:var(--font-weight-regular)}.navbar__actions{align-items:center;gap:var(--spacing-4);display:flex}.navbar__auth{align-items:center;gap:var(--spacing-3);display:flex}.navbar__user{align-items:center;gap:var(--spacing-3);display:flex;position:relative}.navbar__profile-trigger{align-items:center;gap:var(--spacing-3);cursor:pointer;border-radius:var(--radius-md);transition:var(--transition-base);padding:4px 8px;display:flex}.navbar__profile-trigger:hover{background-color:#78a0851a}.navbar__dropdown-arrow{color:var(--color-text-secondary);font-size:10px}.navbar__profile-dropdown{border:1px solid var(--color-border-default);border-radius:var(--radius-md);z-index:1000;background:#fff;min-width:150px;margin-top:8px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #0000001a}.navbar__dropdown-item{text-align:left;width:100%;font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;padding:10px 16px;display:block}.navbar__dropdown-item:hover{background-color:#78a08514}.navbar__dropdown-item--logout{color:#e74c3c}.navbar__dropdown-divider{background-color:var(--color-border-default);height:1px}.navbar__user-avatar{border-radius:var(--radius-full);background-color:var(--color-primary-300);justify-content:center;align-items:center;width:36px;height:36px;display:flex}.navbar__user-avatar-img{border-radius:var(--radius-full);object-fit:cover;width:100%;height:100%}.navbar__user-avatar-default{color:#fff;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.navbar__user-icon{color:#fff;width:20px;height:20px}.navbar__user-icon-simple{justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;color:#fff!important}.navbar__user-name{font-family:"Pretendard", var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.navbar__button{font-family:"IsYun", var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base);border:1.5px solid #0000;justify-content:center;align-items:center;min-width:80px;height:40px;text-decoration:none;display:inline-flex}.navbar__button--primary{background-color:var(--color-primary-300);color:#fff;border-color:var(--color-primary-300)}.navbar__button--primary:hover{background-color:var(--color-primary-400);border-color:var(--color-primary-400);box-shadow:var(--shadow-brand)}.navbar__button--secondary{color:var(--color-primary-300);border-color:var(--color-primary-300);background-color:#0000}.navbar__button--secondary:hover{background-color:var(--color-primary-300);color:#fff}.navbar__mobile-toggle{cursor:pointer;z-index:1001;background:0 0;border:none;padding:.5rem;display:none}.navbar__hamburger{flex-direction:column;width:24px;height:18px;display:flex;position:relative}.navbar__hamburger span{background-color:var(--color-text-primary);transform-origin:50%;width:100%;height:2px;margin-bottom:4px;transition:all .3s;display:block}.navbar__hamburger span:last-child{margin-bottom:0}.navbar__hamburger--open span:first-child{transform:rotate(45deg)translate(6px,6px)}.navbar__hamburger--open span:nth-child(2){opacity:0}.navbar__hamburger--open span:nth-child(3){transform:rotate(-45deg)translate(6px,-6px)}@media (width<=1024px){.navbar__container{padding:0 var(--spacing-6)}.navbar__nav{gap:var(--spacing-8)}}@media (width<=768px){.navbar__container{height:70px;padding:0 var(--spacing-4);position:relative}.navbar__logo-text{font-size:var(--font-size-xl)}.navbar__mobile-toggle{display:block}.navbar__nav{background-color:var(--color-bg-base);border-top:1px solid var(--color-border-default);padding:var(--spacing-4) 0;opacity:0;visibility:hidden;z-index:1000;flex-direction:column;transition:all .3s;position:fixed;top:70px;left:0;right:0;transform:translateY(-100%);box-shadow:0 4px 12px #0000001a}.navbar__nav--mobile-open{opacity:1;visibility:visible;transform:translateY(0)}.navbar__nav-item{font-size:var(--font-size-lg);padding:var(--spacing-3) var(--spacing-4);text-align:center;border-bottom:1px solid #78a0851a;width:100%}.navbar__nav-item:last-child{border-bottom:none}.navbar__button{font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-4);min-width:70px;height:36px}.navbar__user{gap:var(--spacing-2);flex-direction:column;align-items:center}.navbar__user-name{font-size:var(--font-size-sm)}}.main-layout{background-color:var(--color-bg-base);flex-direction:column;min-height:100vh;display:flex}.main-layout__content{width:100%;max-width:var(--layout-content-max-w);padding:var(--layout-page-padding-y) var(--layout-page-padding-x);flex:1;margin:0 auto}@media (width>=768px){.main-layout__content{max-width:1440px;padding:var(--spacing-8) var(--spacing-6)}}.home-page{background-color:#f8f9fa;max-width:1400px;min-height:100vh;margin:0 auto;padding:2rem}.home-page__greeting{margin-bottom:2rem}.home-page__title{color:#2c3e50;margin-bottom:.5rem;font-size:2rem;font-weight:700}.home-page__subtitle{color:#7f8c8d;font-size:1rem}.home-page__content{grid-template-columns:1fr 400px;gap:2rem;margin-bottom:3rem;display:grid}.home-page__left{flex-direction:column;gap:2rem;display:flex}.home-page__section-title{color:#2c3e50;margin-bottom:1rem;font-size:1.2rem;font-weight:600}.home-page__ocr-section{background:#fff;border:1px solid #f1f3f4;border-radius:12px;padding:1.5rem;transition:all .3s;box-shadow:0 2px 8px #0000001a}.home-page__ocr-section:hover{border-color:#78a085;transform:translateY(-4px);box-shadow:0 8px 25px #78a08526}.home-page__ocr-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.home-page__upload-status{color:#9a8058;margin:0;font-size:.9rem}.home-page__upload-area{text-align:center;background:#f8f9fa;border:2px dashed #bdc3c7;border-radius:8px;padding:3rem 2rem}.home-page__file-input{display:none}.home-page__upload-label{cursor:pointer;display:block}.home-page__upload-icon{margin-bottom:1rem;font-size:3rem}.home-page__upload-text{color:#2c3e50;margin-bottom:.5rem;font-size:1rem;line-height:1.5}.home-page__upload-formats{color:#7f8c8d;font-size:.9rem}.home-page__upload-notice{color:#b95c3b;margin-top:.5rem;font-size:.85rem;font-weight:500}.home-page__image-preview{border-radius:8px;max-width:100%;position:relative;overflow:hidden}.home-page__preview-image{object-fit:contain;border-radius:8px;width:100%;max-height:300px}.home-page__preview-overlay{gap:8px;display:flex;position:absolute;top:8px;right:8px}.home-page__remove-btn{color:#fff;cursor:pointer;background-color:#e74c3ce6;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .2s;display:flex}.home-page__remove-btn:hover{background-color:#e74c3c;transform:scale(1.1)}.home-page__change-btn{color:#fff;cursor:pointer;background-color:#3498dbe6;border:none;border-radius:16px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .2s}.home-page__change-btn:hover{background-color:#3498db;transform:translateY(-1px)}.home-page__remove-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.home-page__remove-btn:disabled:hover{background-color:#e74c3ce6;transform:none}.home-page__modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.home-page__modal-overlay--light{background-color:#0006}.home-page__modal{text-align:center;background:#fff;border-radius:16px;width:90%;max-width:400px;padding:3rem 2rem;position:relative;box-shadow:0 20px 60px #0000004d}.home-page__loading-spinner{border:4px solid #e3e3e3;border-top-color:#78a085;border-radius:50%;width:60px;height:60px;margin:0 auto 1.5rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.home-page__modal-title{color:#2c3e50;margin:0 0 .5rem;font-size:1.2rem;font-weight:600}.home-page__modal-subtitle{color:#7f8c8d;margin:0 0 2rem;font-size:.9rem}.home-page__modal-progress{width:100%}.home-page__modal-progress-bar{background-color:#e9ecef;border-radius:4px;width:100%;height:8px;overflow:hidden}.home-page__modal-progress-fill{background:linear-gradient(90deg,#78a085,#9bb89a);border-radius:4px;height:100%;transition:width .3s}.home-page__error-icon{background-color:#b95c3b;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;font-size:4rem;display:flex}.home-page__error-icon:before{content:"⚠";color:#fff;font-size:2.5rem}.home-page__modal-title--error{color:#e74c3c}.home-page__modal-buttons{gap:1rem;margin-top:1rem;padding:0 2rem 2rem;display:flex}.home-page__modal-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;flex:1;padding:.8rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.home-page__modal-btn--primary{color:#fff;background-color:#b95c3b}.home-page__modal-btn--primary:hover:not(:disabled){background-color:#a04f32;transform:translateY(-1px)}.home-page__modal-btn--primary:disabled{cursor:not-allowed;background-color:#bdc3c7}.home-page__modal-btn--secondary{color:#b95c3b;background-color:#fff;border:2px solid #b95c3b}.home-page__modal-btn--secondary:hover{background-color:#f8f9fa}.home-page__modal--large{max-width:500px;padding:0}.home-page__modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;display:flex}.home-page__modal-close{color:#95a5a6;cursor:pointer;z-index:10;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:.5rem;font-size:1.5rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.home-page__modal-close:hover{color:#2c3e50;background-color:#f8f9fa}.home-page__modal-form{padding:1.5rem 2rem 1rem}.home-page__form-group{margin-bottom:1.2rem}.home-page__form-group label{color:#2c3e50;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.home-page__form-input{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;width:100%;padding:.8rem 1rem;font-size:1rem;transition:all .2s}.home-page__form-input:focus{background-color:#fff;border-color:#78a085;outline:none;box-shadow:0 0 0 3px #78a0851a}.home-page__form-input::placeholder{color:#95a5a6}.home-page__form-select{cursor:pointer;appearance:none;background-color:#f8f9fa;background-image:url("data:image/svg+xml;charset=US-ASCII,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 4 5\"><path fill=\"%23666\" d=\"M2 0L0 2h4zm0 5L0 3h4z\"/></svg>");background-position:right 1rem center;background-repeat:no-repeat;background-size:12px;border:1px solid #dee2e6;border-radius:8px;width:100%;padding:.8rem 1rem;font-size:1rem;transition:all .2s}.home-page__form-select:focus{background-color:#fff;border-color:#78a085;outline:none;box-shadow:0 0 0 3px #78a0851a}.home-page__form-select option{color:#2c3e50;background-color:#fff;padding:.5rem}.home-page__camera-section{text-align:center;margin-top:1.5rem}.home-page__divider{text-align:center;justify-content:center;align-items:center;margin:1rem 0;display:flex;position:relative}.home-page__divider:before{content:"";background-color:#dee2e6;flex:1;height:1px;margin-right:1rem}.home-page__divider:after{content:"";background-color:#dee2e6;flex:1;height:1px;margin-left:1rem}.home-page__divider span{color:#95a5a6;white-space:nowrap;background-color:#f8f9fa;padding:0 .5rem;font-size:.9rem}.home-page__camera-btn{color:#fff;cursor:pointer;background-color:#78a085;border:none;border-radius:8px;margin-top:.5rem;padding:.8rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.home-page__camera-btn:hover{background-color:#6a8f77;transform:translateY(-1px)}.home-page__modal--camera{width:95%;max-width:600px;max-height:90vh;padding:0;overflow:hidden}.home-page__camera-container{background-color:#000;justify-content:center;align-items:center;width:100%;height:500px;display:flex;position:relative}.home-page__camera-preview{width:100%;height:100%;position:relative}.home-page__camera-video{object-fit:cover;width:100%;height:100%}.home-page__camera-overlay{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.home-page__camera-frame{border:2px dashed #fffc;border-radius:8px;width:90%;height:75%;margin-bottom:1rem}.home-page__camera-guide{color:#fff;background-color:#000000b3;border-radius:20px;margin:0;padding:.5rem 1rem;font-size:.9rem}.home-page__camera-error{text-align:center;color:#fff;padding:2rem}.home-page__error-icon-small{margin-bottom:1rem;font-size:3rem}.home-page__retry-btn{color:#fff;cursor:pointer;background-color:#b95c3b;border:none;border-radius:8px;margin-top:1rem;padding:.8rem 1.5rem;font-size:1rem}.home-page__camera-loading{text-align:center;color:#fff;padding:2rem}.home-page__camera-controls{background-color:#fff;justify-content:center;align-items:center;gap:2rem;padding:1.5rem;display:flex}.home-page__camera-capture-btn{color:#fff;cursor:pointer;background-color:#b95c3b;border:4px solid #fff;border-radius:50%;width:70px;height:70px;font-size:1.5rem;transition:all .2s;box-shadow:0 4px 12px #0000004d}.home-page__camera-capture-btn:hover{transform:scale(1.1)}.home-page__ocr-results{background:#fff;border:1px solid #f1f3f4;border-radius:12px;min-height:auto;padding:1.5rem;transition:all .3s;box-shadow:0 2px 8px #0000001a}.home-page__ocr-results:hover{border-color:#78a085;transform:translateY(-4px);box-shadow:0 8px 25px #78a08526}.home-page__medicine-categories{flex-direction:column;gap:1.2rem;display:flex}.home-page__medicine-category{background:linear-gradient(135deg,#fafbfc 0%,#f8f9fa 100%);border:1px solid #e9ecef;border-radius:12px;min-height:auto;padding:1.2rem;transition:all .3s;position:relative;overflow:hidden}.home-page__medicine-category:before{content:"";background:linear-gradient(#78a085 0%,#9bb89a 100%);width:4px;height:100%;transition:width .3s;position:absolute;top:0;left:0}.home-page__medicine-category:hover{border-color:#78a085;transform:translate(8px);box-shadow:0 4px 20px #78a0851f}.home-page__medicine-category:hover:before{width:8px}.home-page__medicine-category h3{color:#2c3e50;z-index:1;align-items:center;gap:.8rem;margin-bottom:.8rem;font-size:1rem;font-weight:600;display:flex;position:relative}.home-page__medicine-category h3:after{content:"";background:linear-gradient(45deg,#78a085,#9bb89a);border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px #78a0854d}.home-page__category-title--blue{color:#1565c0!important}.home-page__category-title--orange{color:#d63031!important}.home-page__category-title--teal{color:#00695c!important}.home-page__medicine-tags{flex-wrap:wrap;gap:.6rem;display:flex}.home-page__medicine-tag{cursor:default;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #0000;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.home-page__medicine-tag:hover{transform:translateY(-2px)scale(1.05);box-shadow:0 4px 15px #0000001a}.home-page__medicine-tag:before{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.home-page__medicine-tag:hover:before{left:100%}.home-page__medicine-tag--yellow{color:#856404;background-color:#fff3cd}.home-page__medicine-tag--orange{color:#d63031;background-color:#ffe4d6}.home-page__medicine-tag--green{color:#2d5a2d;background-color:#e8f5e8}.home-page__medicine-tag--blue{color:#2c5aa0;background:linear-gradient(135deg,#e8f4f8 0%,#d1ecf1 100%);border-color:#b8dce8}.home-page__medicine-tag--blue:hover{background:linear-gradient(135deg,#d1ecf1 0%,#b8dce8 100%);border-color:#2c5aa0}.home-page__medicine-tag--orange{color:#b8621b;background:linear-gradient(135deg,#fef2e8 0%,#fce4cc 100%);border-color:#f4d1ae}.home-page__medicine-tag--orange:hover{background:linear-gradient(135deg,#fce4cc 0%,#f4d1ae 100%);border-color:#b8621b}.home-page__medicine-tag--teal{color:#2d5a3d;background:linear-gradient(135deg,#e8f5f0 0%,#d1ebe0 100%);border-color:#b8dcc8}.home-page__medicine-tag--teal:hover{background:linear-gradient(135deg,#d1ebe0 0%,#b8dcc8 100%);border-color:#2d5a3d}.home-page__empty-state{color:#95a5a6;text-align:center;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border:2px dashed #dee2e6;border-radius:8px;padding:1rem;font-size:.85rem;font-style:italic;position:relative;overflow:hidden}.home-page__empty-state:before{content:"📋";opacity:.5;margin-bottom:.3rem;font-size:1.5rem;display:block}.home-page__empty-state:after{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#0000,#0000 10px,#ffffff1a 10px 20px);width:200%;height:200%;animation:3s linear infinite shimmer;position:absolute;top:-50%;left:-50%}@keyframes shimmer{0%{transform:translate(-100%)translateY(-100%)}to{transform:translate(100%)translateY(100%)}}.home-page__right{flex-direction:column;display:flex}.home-page__chatbot-section{background:#fff;border:1px solid #f1f3f4;border-radius:12px;flex-direction:column;height:600px;transition:all .3s;display:flex;position:relative;overflow:visible;box-shadow:0 2px 8px #0000001a}.home-page__chatbot-section:before{content:"";opacity:0;background:linear-gradient(90deg,#78a085,#9bb89a,#78a085) 0 0/200% 100%;height:3px;transition:opacity .3s;animation:3s ease-in-out infinite gradientFlow;position:absolute;top:0;left:0;right:0}@keyframes gradientFlow{0%,to{background-position:0%}50%{background-position:100%}}.home-page__chatbot-section:hover{border-color:#78a085;transform:translateY(-4px);box-shadow:0 8px 25px #78a08526}.home-page__chatbot-section:hover:before{opacity:1}.home-page__chatbot-header{border-bottom:1px solid #ecf0f1;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.home-page__chatbot-icon{object-fit:cover;object-position:center;clip-path:circle(45%);border-radius:50%;flex-shrink:0;width:80px;height:80px;margin:-10px -12px -10px -18px}.home-page__chatbot-title-row{align-items:center;gap:0;display:flex}.home-page__chatbot-title-row .home-page__section-title{margin-bottom:0}.home-page__chatbot-status{color:#27ae60;font-size:.9rem}.home-page__chatbot-ai-label{color:#95a5a6;margin:0;font-size:.8rem}.home-page__chatbot-disclaimer{color:#e67e22;background-color:#fef9f3;border:1px solid #fdebd0;border-radius:8px;flex-shrink:0;margin:0 1rem;padding:.6rem .8rem;font-size:.75rem;line-height:1.5}.home-page__chat-messages{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex}.home-page__chat-message{border-radius:12px;max-width:80%;padding:1rem}.home-page__chat-message--bot{color:#2d5a2d;background-color:#e8f5e8;align-self:flex-start}.home-page__chat-suggestions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.home-page__suggestion-btn{cursor:pointer;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:20px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.home-page__suggestion-btn:hover{background-color:#e9ecef}.home-page__chat-input-area{border-top:1px solid #ecf0f1;padding:1.5rem}.home-page__chat-input-wrapper{gap:.5rem;display:flex}.home-page__chat-input{border:1px solid #dee2e6;border-radius:25px;outline:none;flex:1;padding:.8rem 1rem;font-size:.9rem}.home-page__chat-input:focus{border-color:#74b9ff}.home-page__send-btn{color:#fff;cursor:pointer;background-color:#00b894;border:none;border-radius:25px;padding:.8rem 1.5rem;font-size:.9rem}.home-page__lifestyle-guide{background:linear-gradient(135deg,#fff 0%,#f8f9fa 100%);border:1px solid #e9ecef;border-radius:16px;padding:2rem;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000014}.home-page__lifestyle-guide:before{content:"";background:linear-gradient(90deg,#78a085,#9bb89a,#78a085) 0 0/200% 100%;height:4px;animation:3s ease-in-out infinite gradientShift;position:absolute;top:0;left:0;right:0}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.home-page__guide-cards{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem;display:grid}.home-page__guide-card{text-align:center;cursor:pointer;background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border:2px solid #e9ecef;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:140px;padding:2.5rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.home-page__guide-card:before{content:"";background:linear-gradient(90deg,#0000,#78a0851a,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.home-page__guide-card:hover{border-color:#78a085;transform:translateY(-8px)scale(1.02);box-shadow:0 12px 40px #78a08526}.home-page__guide-card:hover:before{left:100%}.home-page__guide-card h3{color:#2c3e50;z-index:1;margin:0;font-size:1.2rem;font-weight:600;position:relative}.home-page__guide-card--diet{border-left:4px solid #e74c3c}.home-page__guide-card--exercise{border-left:4px solid #3498db}.home-page__guide-card--sleep{border-left:4px solid #9b59b6}.home-page__guide-card:after{content:"";background:linear-gradient(90deg,#0000,currentColor,#0000);height:2px;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.home-page__guide-card:hover:after{transform:scaleX(1)}.home-page__guide-card--coming-soon{opacity:.7;position:relative}.home-page__guide-card--coming-soon:after{content:"준비 중";color:#fff;background-color:#78a085;border-radius:10px;padding:.2rem .5rem;font-size:.7rem;font-weight:500;position:absolute;top:10px;right:10px}@media (width<=1024px){.home-page__content{grid-template-columns:1fr;gap:1.5rem}.home-page__right{order:-1}.home-page__chatbot-section{height:400px}}@media (width<=768px){.home-page{padding:1rem}.home-page__guide-cards{grid-template-columns:1fr}.home-page__title{font-size:1.5rem}}.home-page__chat-message--user{color:#fff;background:linear-gradient(135deg,#78a085,#6a8f77);border-radius:18px 18px 4px;align-self:flex-end;max-width:70%;margin-bottom:8px;padding:12px 16px}.home-page__chat-message--bot{color:#2c3e50;background-color:#f0f4f1;border:1px solid #e0e8e2;border-radius:18px 18px 18px 4px;align-self:flex-start;max-width:70%;margin-bottom:8px;padding:12px 16px}.home-page__typing-indicator{gap:4px;padding:8px 0;display:flex}.home-page__typing-indicator span{background-color:#666;border-radius:50%;width:8px;height:8px;animation:1.4s infinite typing}.home-page__typing-indicator span:nth-child(2){animation-delay:.2s}.home-page__typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.home-page__chat-messages{flex-direction:column;flex:1;padding:1rem 1.5rem;display:flex;position:relative;overflow-y:auto}.home-page__scroll-top-btn{color:#fff;cursor:pointer;z-index:5;background-color:#78a085e6;border:none;border-radius:16px;align-self:center;padding:.3rem .8rem;font-size:.75rem;transition:all .2s;position:sticky;bottom:0}.home-page__scroll-top-btn:hover{background-color:#6a8f77;transform:translateY(-1px)}.home-page__ocr-results-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.home-page__ocr-results-header .home-page__section-title{margin-bottom:0}.home-page__add-medication-btn-sm{color:#fff;cursor:pointer;white-space:nowrap;background-color:#78a085;border:none;border-radius:16px;padding:.4rem .8rem;font-size:.8rem;font-weight:500;transition:all .2s}.home-page__add-medication-btn-sm:hover:not(:disabled){background-color:#6a8f77;transform:translateY(-1px)}.home-page__add-medication-btn-sm--done{cursor:default;background-color:#27ae60}.home-page__faq-wrapper{justify-content:flex-end;padding:.3rem 1rem;display:flex;position:relative}.home-page__faq-bubble{color:#5a7f67;cursor:pointer;background:#dce5de;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex;box-shadow:0 1px 4px #00000014}.home-page__faq-bubble:hover,.home-page__faq-bubble--active{background:#c8d6cb;transform:scale(1.08)}.home-page__faq-popup{z-index:10;background:#fff;border:1px solid #dee2e6;border-radius:16px;flex-direction:column;gap:.4rem;max-width:300px;padding:.8rem;display:flex;position:absolute;bottom:1rem;right:60px;box-shadow:0 4px 20px #0000001f}.home-page__faq-item{color:#2c3e50;cursor:pointer;white-space:nowrap;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.home-page__faq-item:hover{background-color:#e9ecef;border-color:#adb5bd}.landing-page{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.landing-page__background{opacity:.62;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.landing-page__background-overlay{opacity:.28;background-color:#fdf5ee;position:absolute;inset:0}.landing-page__content{z-index:1;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative}.landing-page__slide{text-align:center;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:600px;height:600px;display:flex;position:relative}.landing-page__slide-content{padding:var(--spacing-8);text-align:center;flex-direction:column;align-items:center;max-width:400px;display:flex}.landing-page__subtitle{font-family:"Pretendard", var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#fffc;letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--spacing-6)}.landing-page__title{font-family:"IsYun", var(--font-sans);font-size:var(--font-size-4xl);font-weight:var(--font-weight-regular);color:#fff;line-height:var(--line-height-tight);margin-bottom:var(--spacing-6);text-shadow:0 2px 8px #0000004d}.landing-page__description{font-family:"Pretendard", var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);color:#ffffffe6;line-height:var(--line-height-relaxed);white-space:nowrap;margin:0}.landing-page__dots{justify-content:center;gap:var(--spacing-2);z-index:2;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.landing-page__dot{border-radius:var(--radius-full);cursor:pointer;width:8px;height:8px;transition:var(--transition-base);background-color:#fff6;border:none}.landing-page__dot--active{background-color:#ffffffe6;width:20px}.landing-page__dot:hover{background-color:#ffffffb3}.landing-page__cta{text-align:center;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:600px;height:600px;display:flex;position:relative}.landing-page__cta-content{align-items:center;gap:var(--spacing-6);padding:var(--spacing-8);flex-direction:column;display:flex}.landing-page__cta-logo{filter:brightness(0)invert();width:auto;height:180px}.landing-page__cta-title{font-family:"IsYun", var(--font-sans);font-size:var(--font-size-4xl);font-weight:var(--font-weight-regular);color:#fff;text-shadow:0 2px 8px #0000004d;margin:0}.landing-page__cta-subtitle{font-family:"Pretendard", var(--font-sans);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);color:#ffffffe6;margin:0}.landing-page__cta-button{background-color:var(--color-primary-300);color:#fff;border-radius:var(--radius-lg);width:200px;height:52px;font-family:"Pretendard", var(--font-sans);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-base);margin-top:var(--spacing-4);border:none}.landing-page__cta-button:hover{background-color:var(--color-primary-400);box-shadow:var(--shadow-brand);transform:translateY(-2px)}.landing-page__skip-button{color:#fff;cursor:pointer;align-items:center;gap:var(--spacing-2);margin-top:calc(var(--spacing-8) + 20px);transition:var(--transition-base);background:0 0;border:none;flex-direction:column;display:flex}.landing-page__skip-button:hover{opacity:.8;transform:translateY(-2px)}.landing-page__skip-circle{width:60px;height:60px;transition:var(--transition-base);border:2px solid #fff9;border-radius:50%;justify-content:center;align-items:center;display:flex}.landing-page__skip-button:hover .landing-page__skip-circle{border-color:#ffffffe6}.landing-page__skip-icon{color:#fffc;font-size:24px}.landing-page__skip-button:hover .landing-page__skip-icon{color:#fff}.landing-page__skip-text{font-family:"IsYun", var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:#ffffffe6;text-shadow:0 1px 3px #0000004d;margin-top:var(--spacing-1)}@media (width<=1024px){.landing-page__slide,.landing-page__cta{width:500px;height:500px}.landing-page__title,.landing-page__cta-title{font-size:var(--font-size-3xl)}.landing-page__skip-button{margin-top:var(--spacing-6)}.landing-page__skip-circle{width:55px;height:55px}}@media (width<=768px){.landing-page__slide,.landing-page__cta{width:400px;height:400px}.landing-page__slide-content,.landing-page__cta-content{padding:var(--spacing-6)}.landing-page__title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-4)}.landing-page__description{font-size:var(--font-size-sm)}.landing-page__subtitle{font-size:var(--font-size-xs)}.landing-page__cta-logo{height:140px}.landing-page__cta-title{font-size:var(--font-size-2xl)}.landing-page__cta-subtitle{font-size:var(--font-size-md)}.landing-page__cta-button{width:180px;height:48px;font-size:var(--font-size-md)}.landing-page__dots{bottom:60px}.landing-page__skip-button{margin-top:var(--spacing-6)}.landing-page__skip-circle{width:50px;height:50px}.landing-page__skip-icon{font-size:20px}.landing-page__skip-text{font-size:var(--font-size-xs)}}.login-page{min-height:100vh;padding:var(--spacing-4);justify-content:center;align-items:center;display:flex;position:relative}.login-page__background{opacity:.62;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.login-page__background-overlay{opacity:.28;background-color:#fdf5ee;position:absolute;inset:0}.login-page__card{z-index:1;width:100%;max-width:480px;min-height:520px;box-shadow:var(--shadow-xl);padding:var(--spacing-8);gap:var(--spacing-6);background-color:#fffffff7;border-radius:20px;flex-direction:column;display:flex;position:relative}.login-page__card-line{background-color:var(--color-primary-300);border-radius:var(--radius-full);width:100%;height:3px;margin-bottom:var(--spacing-6)}.login-page__header{text-align:center;margin-bottom:var(--spacing-4)}.login-page__logo{width:auto;height:160px;margin:0 auto var(--spacing-4)}.login-page__title{font-family:"IsYun", var(--font-sans);font-size:var(--font-size-2xl);font-weight:var(--font-weight-regular);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.login-page__form{gap:var(--spacing-5);flex-direction:column;flex:1;display:flex}.login-page__error-general{background-color:var(--color-warning-light);color:var(--color-warning-dark);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);text-align:center;border:1px solid var(--color-warning)}.login-page__field{gap:var(--spacing-2);flex-direction:column;display:flex}.login-page__input{width:100%;max-width:400px;height:48px;padding:0 var(--spacing-4);font-family:"Pretendard", var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);background-color:var(--color-bg-base);border:1.5px solid var(--color-border-default);border-radius:var(--radius-md);transition:var(--transition-base);outline:none;margin:0 auto}.login-page__input::placeholder{color:var(--color-text-placeholder)}.login-page__input:focus{border-color:var(--color-border-focus);background-color:#fff}.login-page__input--error{border-color:var(--color-border-error);background-color:#fff}.login-page__input:disabled{opacity:.6;cursor:not-allowed}.login-page__password-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.login-page__password-toggle{right:calc(50% - 200px + var(--spacing-3));color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--spacing-1);transition:var(--transition-base);background:0 0;border:none;position:absolute}.login-page__password-toggle:hover{color:var(--color-text-brand)}.login-page__password-toggle:disabled{opacity:.5;cursor:not-allowed}.login-page__error{font-size:var(--font-size-xs);color:var(--color-text-warning);text-align:center;margin-top:var(--spacing-1)}.login-page__submit{background-color:var(--color-primary-300);color:#fff;border-radius:var(--radius-lg);width:100%;max-width:400px;height:48px;font-family:"Pretendard", var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-base);margin:var(--spacing-2) auto 0;border:none}.login-page__submit:hover:not(:disabled){background-color:var(--color-primary-400);box-shadow:var(--shadow-brand)}.login-page__submit:disabled{opacity:.6;cursor:not-allowed}.login-page__footer{text-align:center;gap:var(--spacing-3);flex-direction:column;margin-top:auto;display:flex}.login-page__skip-button{border:2px solid var(--color-primary-300);color:var(--color-primary-300);padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-base);margin-bottom:var(--spacing-4);z-index:100;pointer-events:auto;box-shadow:var(--shadow-md);background-color:#fff;position:relative}.login-page__skip-button:hover{background-color:var(--color-primary-300);color:#fff;box-shadow:var(--shadow-brand);transform:translateY(-2px)}.login-page__link{color:var(--color-text-brand);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:var(--transition-base);text-decoration:none}.login-page__link:hover{color:var(--color-primary-400);text-decoration:underline}.login-page__link--primary{color:var(--color-primary-300);font-weight:var(--font-weight-semibold)}.login-page__signup-prompt{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}@media (width<=768px){.login-page__card{max-width:100%;margin:var(--spacing-4);padding:var(--spacing-6);min-height:auto}.login-page__input,.login-page__submit{max-width:100%}.login-page__password-toggle{right:var(--spacing-3)}.login-page__title{font-size:var(--font-size-xl)}.login-page__logo{height:120px}}.signup-page{min-height:100vh;padding:var(--spacing-4);justify-content:center;align-items:center;display:flex;position:relative}.signup-page__background{opacity:.62;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.signup-page__background-overlay{opacity:.28;background-color:#fdf5ee;position:absolute;inset:0}.signup-page__container{z-index:1;width:100%;max-width:480px;min-height:600px;box-shadow:var(--shadow-xl);padding:var(--spacing-8);gap:var(--spacing-6);background-color:#fffffff7;border-radius:20px;flex-direction:column;display:flex;position:relative}.signup-page__card-line{background-color:var(--color-primary-300);border-radius:var(--radius-full);width:100%;height:3px;margin-bottom:var(--spacing-6)}.signup-page__header{text-align:center;margin-bottom:var(--spacing-4)}.signup-page__logo{width:auto;height:160px;margin:0 auto var(--spacing-4)}.signup-page__title{font-family:"IsYun", var(--font-sans);font-size:var(--font-size-2xl);font-weight:var(--font-weight-regular);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.signup-page__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-2)}.signup-page__form{gap:var(--spacing-5);flex-direction:column;flex:1;display:flex}.signup-page__field{gap:var(--spacing-2);flex-direction:column;display:flex}.signup-page__email-group,.signup-page__code-group{gap:var(--spacing-3);align-items:flex-end;display:flex}.signup-page__email-group .input-wrapper,.signup-page__code-group .input-wrapper{flex:1}.signup-page__email-group .btn,.signup-page__code-group .btn{height:48px;padding:0 var(--spacing-4);font-size:var(--font-size-sm);white-space:nowrap;flex-shrink:0}.signup-page__success{color:var(--color-success,#22c55e);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:var(--spacing-1);text-align:center}.signup-page__submit{background-color:var(--color-primary-300);color:#fff;border-radius:var(--radius-lg);width:100%;max-width:400px;height:48px;font-family:"Pretendard", var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-base);margin:var(--spacing-4) auto 0;border:none}.signup-page__submit:hover:not(:disabled){background-color:var(--color-primary-400);box-shadow:var(--shadow-brand)}.signup-page__submit:disabled{opacity:.6;cursor:not-allowed}.signup-page__footer{text-align:center;padding-top:var(--spacing-4);border-top:1px solid var(--color-border,#e5e7eb);margin-top:auto}.signup-page__footer p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.signup-page__link{color:var(--color-text-brand);font-weight:var(--font-weight-semibold);cursor:pointer;font-size:inherit;transition:var(--transition-base);background:0 0;border:none;text-decoration:underline}.signup-page__link:hover{color:var(--color-primary-400)}.signup-page__terms-section{gap:var(--spacing-3);padding:var(--spacing-4);background-color:var(--color-bg-secondary,#f9fafb);border-radius:var(--radius-md,8px);border:1px solid var(--color-border,#e5e7eb);flex-direction:column;display:flex}.signup-page__terms-row{justify-content:space-between;align-items:center;display:flex}.signup-page__terms-view{color:var(--color-text-brand,#6b7280);font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;text-decoration:underline}.signup-page__terms-view:hover{color:var(--color-primary-400)}.terms-content{max-height:400px;padding:var(--spacing-2) 0;font-size:var(--font-size-sm);color:var(--color-text-primary,#374151);line-height:1.7;overflow-y:auto}.terms-content h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold,600);margin:var(--spacing-4) 0 var(--spacing-2);color:var(--color-text-primary,#111827)}.terms-content h4:first-child{margin-top:0}.terms-content p{margin:var(--spacing-1) 0}.terms-content ul{margin:var(--spacing-2) 0;padding-left:var(--spacing-5)}.terms-content li{margin-bottom:var(--spacing-1)}.terms-content__note{margin-top:var(--spacing-6);padding-top:var(--spacing-4);border-top:1px solid var(--color-border,#e5e7eb);font-size:var(--font-size-xs);color:var(--color-text-secondary,#9ca3af)}.signup-page__verification-notice{text-align:center;padding:var(--spacing-4);border-radius:var(--radius-md,8px);background-color:#f0f7ff;border:1px solid #bdd7f1}.signup-page__verification-notice p:first-child{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold,600);color:var(--color-text-primary);margin:0 0 var(--spacing-2)}.signup-page__verification-notice p:last-child{font-size:var(--font-size-sm);color:var(--color-text-secondary,#6b7280);margin:0;line-height:1.6}@media (width<=768px){.signup-page__container{max-width:100%;margin:var(--spacing-4);padding:var(--spacing-6);min-height:auto}.signup-page__title{font-size:var(--font-size-xl)}.signup-page__logo{height:120px}.signup-page__email-group,.signup-page__code-group{gap:var(--spacing-2);flex-direction:column;align-items:stretch}.signup-page__email-group .btn,.signup-page__code-group .btn{width:100%}.signup-page__submit{max-width:100%}}.forgot-password-page{min-height:100vh;padding:var(--spacing-4);justify-content:center;align-items:center;display:flex;position:relative}.forgot-password-page__background{opacity:.62;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.forgot-password-page__background-overlay{opacity:.28;background-color:#fdf5ee;position:absolute;inset:0}.forgot-password-page__card{z-index:1;width:100%;max-width:480px;min-height:520px;box-shadow:var(--shadow-xl);padding:var(--spacing-8);gap:var(--spacing-6);background-color:#fffffff7;border-radius:20px;flex-direction:column;display:flex;position:relative}.forgot-password-page__card-line{background-color:var(--color-primary-300);border-radius:var(--radius-full);width:100%;height:3px;margin-bottom:var(--spacing-6)}.forgot-password-page__header{text-align:center;margin-bottom:var(--spacing-4)}.forgot-password-page__logo{width:auto;height:120px;margin:0 auto var(--spacing-4)}.forgot-password-page__title{font-family:"LeeSeoyun", var(--font-sans);font-size:var(--font-size-2xl);font-weight:var(--font-weight-regular);color:var(--color-text-primary);margin:0 0 var(--spacing-2) 0;line-height:var(--line-height-tight)}.forgot-password-page__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.forgot-password-page__form{gap:var(--spacing-5);flex-direction:column;flex:1;display:flex}.forgot-password-page__field{gap:var(--spacing-2);flex-direction:column;display:flex}.forgot-password-page__email-group,.forgot-password-page__code-group{gap:var(--spacing-3);align-items:flex-end;display:flex}.forgot-password-page__email-group .input-wrapper,.forgot-password-page__code-group .input-wrapper{flex:1}.forgot-password-page__email-group .btn,.forgot-password-page__code-group .btn{height:48px;padding:0 var(--spacing-4);font-size:var(--font-size-sm);white-space:nowrap;flex-shrink:0}.forgot-password-page__footer{text-align:center;padding-top:var(--spacing-4);border-top:1px solid var(--color-border,#e5e7eb);margin-top:auto}.forgot-password-page__footer p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.forgot-password-page__link{color:var(--color-text-brand);font-weight:var(--font-weight-semibold);cursor:pointer;font-size:inherit;transition:var(--transition-base);background:0 0;border:none;text-decoration:underline}.forgot-password-page__link:hover{color:var(--color-primary-400)}.forgot-password-page__expired-message{color:#e74c3c;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium,500);text-align:center;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md,8px);background-color:#fef2f2;border:1px solid #fecaca}@media (width<=768px){.forgot-password-page__card{max-width:100%;margin:var(--spacing-4);padding:var(--spacing-6);min-height:auto}.forgot-password-page__title{font-size:var(--font-size-xl)}.forgot-password-page__logo{height:90px}.forgot-password-page__email-group,.forgot-password-page__code-group{gap:var(--spacing-2);flex-direction:column;align-items:stretch}.forgot-password-page__email-group .btn,.forgot-password-page__code-group .btn{width:100%}}.kakao-additional__page{min-height:100vh;padding:var(--spacing-4);justify-content:center;align-items:center;display:flex;position:relative}.kakao-additional__background{opacity:.62;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.kakao-additional__background-overlay{opacity:.28;background-color:#fdf5ee;position:absolute;inset:0}.kakao-additional__container{z-index:1;width:100%;max-width:480px;box-shadow:var(--shadow-xl);padding:var(--spacing-8);gap:var(--spacing-6);background-color:#fffffff7;border-radius:20px;flex-direction:column;display:flex;position:relative}.kakao-additional__card-line{background-color:var(--color-primary-300);border-radius:var(--radius-full);width:100%;height:3px;margin-bottom:var(--spacing-6)}.kakao-additional__header{text-align:center;margin-bottom:var(--spacing-4)}.kakao-additional__logo{width:auto;height:160px;margin:0 auto var(--spacing-4)}.kakao-additional__title{font-family:"IsYun", var(--font-sans);font-size:var(--font-size-2xl);font-weight:var(--font-weight-regular);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.kakao-additional__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-2)}.kakao-additional__form{gap:var(--spacing-5);flex-direction:column;display:flex}.kakao-additional__field{gap:var(--spacing-2);flex-direction:column;display:flex}.kakao-additional__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.kakao-additional__select,.kakao-additional__input{width:100%;height:48px;padding:0 var(--spacing-4);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-lg);font-size:var(--font-size-md);color:var(--color-text-primary);transition:var(--transition-base);background-color:#fff}.kakao-additional__select:focus,.kakao-additional__input:focus{border-color:var(--color-primary-300);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb,100, 160, 120), .1);outline:none}.kakao-additional__error{color:#ef4444;font-size:var(--font-size-xs);margin-top:var(--spacing-1)}.kakao-additional__terms-section{gap:var(--spacing-3);padding:var(--spacing-4);background-color:var(--color-bg-secondary,#f9fafb);border-radius:var(--radius-md,8px);border:1px solid var(--color-border,#e5e7eb);flex-direction:column;display:flex}.kakao-additional__terms-row{justify-content:space-between;align-items:center;display:flex}.kakao-additional__checkbox{align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;display:flex}.kakao-additional__terms-view{color:var(--color-text-brand,#6b7280);font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;text-decoration:underline}.kakao-additional__terms-view:hover{color:var(--color-primary-400)}.kakao-additional__submit{background-color:var(--color-primary-300);color:#fff;border-radius:var(--radius-lg);width:100%;height:48px;font-family:"Pretendard", var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-base);margin-top:var(--spacing-4);border:none}.kakao-additional__submit:hover:not(:disabled){background-color:var(--color-primary-400);box-shadow:var(--shadow-brand)}.kakao-additional__submit:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.kakao-additional__container{max-width:100%;margin:var(--spacing-4);padding:var(--spacing-6)}.kakao-additional__logo{height:120px}.kakao-additional__title{font-size:var(--font-size-xl)}}.medication-page{background-color:#f8f9fa;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem}.medication-page__header{background:#fff;border:1px solid #f1f3f4;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:2rem;transition:all .3s;display:flex;box-shadow:0 2px 8px #0000001a}.medication-page__header:hover{border-color:#78a085;transform:translateY(-4px);box-shadow:0 8px 25px #78a08526}.medication-page__title{color:#2c3e50;margin:0;font-size:2rem;font-weight:700}.medication-page__subtitle{color:#7f8c8d;margin:.5rem 0 0;font-size:1rem}.medication-page__add-btn{color:#fff;cursor:pointer;background-color:#78a085;border:none;border-radius:8px;padding:1rem 2rem;font-size:1rem;font-weight:500;transition:all .2s}.medication-page__add-btn:hover{background-color:#6a8f77;transform:translateY(-1px)}.medication-page__stats{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.medication-page__stat-card{text-align:center;cursor:pointer;background:#fff;border:1px solid #f1f3f4;border-radius:12px;padding:1.5rem;transition:all .3s;box-shadow:0 2px 8px #0000001a}.medication-page__stat-card:hover{border-color:#78a085;transform:translateY(-6px)scale(1.02);box-shadow:0 12px 30px #78a08526}.medication-page__stat-card h3{color:#7f8c8d;margin:0 0 .5rem;font-size:.9rem;font-weight:500}.medication-page__stat-number{color:#78a085;font-size:2rem;font-weight:700}.medication-page__content{background:#fff;border:1px solid #f1f3f4;border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 2px 8px #0000001a}.medication-page__content:hover{border-color:#78a085;transform:translateY(-4px);box-shadow:0 8px 25px #78a08526}.medication-page__list-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.medication-page__list-header h2{color:#2c3e50;margin:0;font-size:1.2rem;font-weight:600}.medication-page__filters{gap:.5rem;display:flex}.medication-page__filter-btn{cursor:pointer;background:#fff;border:1px solid #dee2e6;border-radius:20px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.medication-page__filter-btn--active{color:#fff;background-color:#78a085;border-color:#78a085}.medication-page__filter-btn:hover:not(.medication-page__filter-btn--active){background-color:#f8f9fa}.medication-page__list{padding:0}.medication-page__card{border-bottom:1px solid #e9ecef;padding:1.5rem 2rem;transition:all .3s;position:relative;overflow:hidden}.medication-page__card:before{content:"";background:linear-gradient(90deg,#0000,#78a0850d,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.medication-page__card:hover{background-color:#f8f9fa;border-left:4px solid #78a085;transform:translate(8px)}.medication-page__card:hover:before{left:100%}.medication-page__card--inactive{opacity:.6;background-color:#f8f9fa}.medication-page__card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.medication-page__card-title{color:#2c3e50;margin:0;font-size:1.1rem;font-weight:600}.medication-page__card-actions{gap:.5rem;display:flex}.medication-page__toggle-btn{cursor:pointer;background:#fff;border:1px solid #dee2e6;border-radius:16px;padding:.4rem .8rem;font-size:.8rem;transition:all .2s}.medication-page__toggle-btn--active{color:#fff;background-color:#27ae60;border-color:#27ae60}.medication-page__delete-btn{color:#e74c3c;cursor:pointer;background:#fff;border:1px solid #e74c3c;border-radius:16px;padding:.4rem .8rem;font-size:.8rem;transition:all .2s}.medication-page__delete-btn:hover{color:#fff;background-color:#e74c3c}.medication-page__card-content{grid-template-columns:repeat(2,1fr);gap:.8rem;display:grid}.medication-page__card-info{gap:.5rem;display:flex}.medication-page__info-label{color:#7f8c8d;min-width:80px;font-weight:500}.medication-page__card-notes{border-top:1px solid #e9ecef;grid-column:1/-1;gap:.5rem;margin-top:.5rem;padding-top:.5rem;display:flex}.medication-page__modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.medication-page__modal{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;position:relative;overflow-y:auto}.medication-page__modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;display:flex}.medication-page__modal-header h3{color:#2c3e50;margin:0;font-size:1.2rem;font-weight:600}.medication-page__modal-close{color:#95a5a6;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.5rem;font-size:1.5rem;transition:all .2s;position:absolute;top:1rem;right:1rem}.medication-page__modal-close:hover{color:#2c3e50;background-color:#f8f9fa}.medication-page__modal-form{padding:1.5rem 2rem}.medication-page__form-group{margin-bottom:1.2rem}.medication-page__form-group label{color:#2c3e50;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.medication-page__form-input,.medication-page__form-select,.medication-page__form-textarea{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;width:100%;padding:.8rem 1rem;font-size:1rem;transition:all .2s}.medication-page__form-input:focus,.medication-page__form-select:focus,.medication-page__form-textarea:focus{background-color:#fff;border-color:#78a085;outline:none;box-shadow:0 0 0 3px #78a0851a}.medication-page__form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=US-ASCII,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 4 5\"><path fill=\"%23666\" d=\"M2 0L0 2h4zm0 5L0 3h4z\"/></svg>");background-position:right 1rem center;background-repeat:no-repeat;background-size:12px}.medication-page__form-textarea{resize:vertical;min-height:80px}.medication-page__form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.medication-page__modal-buttons{gap:1rem;padding:1rem 2rem 2rem;display:flex}.medication-page__modal-btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:.8rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.medication-page__modal-btn--primary{color:#fff;background-color:#78a085}.medication-page__modal-btn--primary:hover:not(:disabled){background-color:#6a8f77;transform:translateY(-1px)}.medication-page__modal-btn--primary:disabled{cursor:not-allowed;background-color:#bdc3c7}.medication-page__modal-btn--secondary{color:#78a085;background-color:#fff;border:2px solid #78a085}.medication-page__modal-btn--secondary:hover{background-color:#f8f9fa}@media (width<=1024px){.medication-page__header{text-align:center;flex-direction:column;gap:1rem}.medication-page__stats{grid-template-columns:1fr}.medication-page__list-header{flex-direction:column;gap:1rem}}@media (width<=768px){.medication-page{padding:1rem}.medication-page__card-content,.medication-page__form-row{grid-template-columns:1fr}.medication-page__modal{width:95%}}.mypage{background-color:#f8f9fa;min-height:calc(100vh - 80px);margin-top:0;display:flex}.mypage__sidebar{background:#fff;border-right:1px solid #e9ecef;flex-direction:column;width:280px;height:fit-content;min-height:calc(100vh - 80px);transition:all .3s;display:flex}.mypage__sidebar:hover{box-shadow:4px 0 20px #78a0851a}.mypage__profile{text-align:center;border-bottom:1px solid #e9ecef;padding:2rem;transition:all .3s}.mypage__profile:hover{background-color:#fafbfc}.mypage__avatar{margin-bottom:1rem}.mypage__avatar-circle{color:#fff;cursor:pointer;background-color:#78a085;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto;font-size:1.5rem;font-weight:700;transition:all .3s;display:flex;overflow:hidden}.mypage__avatar-circle:hover{transform:scale(1.1);box-shadow:0 4px 15px #78a0854d}.mypage__avatar-image{object-fit:cover;width:100%;height:100%}.mypage__avatar-text{color:#fff;font-size:1.5rem;font-weight:700}.mypage__username{color:#2c3e50;margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.mypage__user-email{color:#7f8c8d;margin:0;font-size:.9rem}.mypage__nav{flex:1;padding:1rem 0}.mypage__nav-item{text-align:left;color:#7f8c8d;cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;width:100%;padding:1rem 2rem;font-size:1rem;transition:all .3s;position:relative;overflow:hidden}.mypage__nav-item:before{content:"";background:linear-gradient(90deg,#0000,#78a0850d,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.mypage__nav-item:hover{color:#2c3e50;background-color:#f8f9fa;transform:translate(8px)}.mypage__nav-item:hover:before{left:100%}.mypage__nav-item--active{color:#78a085;background-color:#f0f7f2;border-left-color:#78a085;font-weight:500}.mypage__sidebar-footer{border-top:1px solid #e9ecef;padding:1rem 2rem 2rem}.mypage__logout-btn{color:#fff;cursor:pointer;background-color:#e74c3c;border:none;border-radius:8px;width:100%;padding:.8rem;font-size:.9rem;font-weight:500;transition:all .2s}.mypage__logout-btn:hover{background-color:#c0392b}.mypage__main{flex:1;max-width:800px;padding:2rem}.mypage__header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.mypage__page-title{color:#2c3e50;margin:0;font-size:1.5rem;font-weight:600}.mypage__edit-btn{color:#fff;cursor:pointer;background-color:#78a085;border:none;border-radius:6px;padding:.6rem 1.2rem;font-size:.9rem;transition:all .2s}.mypage__edit-btn:hover{background-color:#6a8f77}.mypage__tab-content{background:#fff;border:1px solid #f1f3f4;border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 2px 8px #0000001a}.mypage__tab-content:hover{border-color:#78a085;transform:translateY(-4px);box-shadow:0 8px 25px #78a08526}.mypage__profile-info-card{padding:2rem}.mypage__profile-row{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.5rem;display:grid}.mypage__profile-row:last-child{grid-template-columns:1fr;margin-bottom:0}.mypage__profile-field{flex-direction:column;gap:.5rem;display:flex}.mypage__profile-field label{color:#7f8c8d;font-size:.9rem;font-weight:500}.mypage__profile-field span{color:#2c3e50;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:.8rem 1rem;font-size:1rem}.mypage__report-stats{border-bottom:1px solid #e9ecef;grid-template-columns:repeat(3,1fr);gap:1rem;padding:2rem;display:grid}.mypage__report-card{text-align:center;cursor:pointer;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;transition:all .3s}.mypage__report-card:hover{background-color:#f0f7f2;border-color:#78a085;transform:translateY(-4px)scale(1.02);box-shadow:0 8px 20px #78a0851f}.mypage__report-label{color:#7f8c8d;margin-bottom:.5rem;font-size:.9rem;display:block}.mypage__report-value{color:#78a085;font-size:1.5rem;font-weight:700}.mypage__chart-section{border-bottom:1px solid #e9ecef;padding:2rem}.mypage__chart-section h4{color:#2c3e50;margin:0 0 1rem;font-size:1rem;font-weight:600}.mypage__chart{align-items:end;gap:.5rem;height:120px;padding:1rem 0;display:flex}.mypage__chart-bar{flex-direction:column;flex:1;align-items:center;gap:.5rem;display:flex}.mypage__chart-fill{background-color:#78a085;border-radius:4px 4px 0 0;width:100%;min-height:4px;transition:height .3s}.mypage__chart-label{color:#7f8c8d;font-size:.8rem}.mypage__medication-list{border-bottom:1px solid #e9ecef;padding:2rem}.mypage__medication-list h4{color:#2c3e50;margin:0 0 1rem;font-size:1rem;font-weight:600}.mypage__med-item{border-bottom:1px solid #f8f9fa;justify-content:space-between;align-items:center;padding:.8rem 0;display:flex}.mypage__med-item:last-child{border-bottom:none}.mypage__med-status{color:#fff;background-color:#27ae60;border-radius:12px;padding:.3rem .8rem;font-size:.8rem}.mypage__tips{padding:2rem}.mypage__tips h4{color:#2c3e50;margin:0 0 1rem;font-size:1rem;font-weight:600}.mypage__tips ul{margin:0;padding:0;list-style:none}.mypage__tips li{color:#7f8c8d;padding:.5rem 0;font-size:.9rem;line-height:1.5}.mypage__history-list{padding:0}.mypage__history-item{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:1.5rem 2rem;transition:all .3s;display:flex;position:relative;overflow:hidden}.mypage__history-item:before{content:"";background:linear-gradient(90deg,#0000,#78a0850d,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.mypage__history-item:hover{background-color:#f8f9fa;border-left:4px solid #78a085;transform:translate(8px)}.mypage__history-item:hover:before{left:100%}.mypage__history-item:last-child{border-bottom:none}.mypage__history-info h4{color:#2c3e50;margin:0 0 .25rem;font-size:1rem;font-weight:500}.mypage__history-date{color:#7f8c8d;font-size:.9rem}.mypage__history-status{border-radius:12px;padding:.4rem .8rem;font-size:.8rem;font-weight:500}.mypage__history-status--completed{color:#27ae60;background-color:#d1f2eb}.mypage__history-status--missed{color:#e74c3c;background-color:#fadbd8}.mypage__account-section{padding:0}.mypage__account-item{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:1.5rem 2rem;transition:all .3s;display:flex;position:relative;overflow:hidden}.mypage__account-item:before{content:"";background:linear-gradient(90deg,#0000,#78a0850d,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.mypage__account-item:hover{background-color:#f8f9fa;transform:translate(8px)}.mypage__account-item:hover:before{left:100%}.mypage__account-item:last-child{border-bottom:none}.mypage__account-item--danger{background-color:#fdf2f2}.mypage__account-info{flex:1}.mypage__account-title{color:#2c3e50;margin-bottom:.25rem;font-size:1rem;font-weight:500;display:block}.mypage__account-desc{color:#7f8c8d;font-size:.9rem}.mypage__account-btn{color:#78a085;cursor:pointer;background-color:#f8f9fa;border:1px solid #78a085;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.mypage__account-btn:hover{color:#fff;background-color:#78a085}.mypage__account-btn--danger{color:#e74c3c;border-color:#e74c3c}.mypage__account-btn--danger:hover{color:#fff;background-color:#e74c3c}.mypage__modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mypage__modal{background:#fff;border-radius:16px;width:90%;max-width:500px;position:relative}.mypage__modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;display:flex}.mypage__modal-header h3{color:#2c3e50;margin:0;font-size:1.2rem;font-weight:600}.mypage__modal-close{color:#95a5a6;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.5rem;font-size:1.5rem;transition:all .2s;position:absolute;top:1rem;right:1rem}.mypage__modal-close:hover{color:#2c3e50;background-color:#f8f9fa}.mypage__modal-form{padding:1.5rem 2rem}.mypage__modal-content{text-align:center;padding:1.5rem 2rem}.mypage__modal-content p{color:#7f8c8d;margin:0 0 1rem;line-height:1.5}.mypage__form-group{margin-bottom:1.2rem}.mypage__form-group label{color:#2c3e50;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.mypage__form-input{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;width:100%;padding:.8rem 1rem;font-size:1rem;transition:all .2s}.mypage__input-wrapper{position:relative}.mypage__input-wrapper .mypage__form-input{padding-right:3.5rem}.mypage__pw-toggle{color:#999;cursor:pointer;background:0 0;border:none;font-size:.85rem;position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}.mypage__form-input:focus{background-color:#fff;border-color:#78a085;outline:none;box-shadow:0 0 0 3px #78a0851a}.mypage__modal-buttons{gap:1rem;padding:1rem 2rem 2rem;display:flex}.mypage__modal-btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:.8rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.mypage__modal-btn--primary{color:#fff;background-color:#78a085}.mypage__modal-btn--primary:hover:not(:disabled){background-color:#6a8f77;transform:translateY(-1px)}.mypage__modal-btn--primary:disabled{cursor:not-allowed;background-color:#bdc3c7}.mypage__modal-btn--secondary{color:#78a085;background-color:#fff;border:2px solid #78a085}.mypage__modal-btn--secondary:hover{background-color:#f8f9fa}.mypage__modal-btn--danger{color:#fff;background-color:#e74c3c}.mypage__modal-btn--danger:hover{background-color:#c0392b;transform:translateY(-1px)}.mypage__profile-image-section{align-items:center;gap:1rem;display:flex}.mypage__profile-image-preview{border:2px solid #e9ecef;border-radius:50%;width:80px;height:80px;overflow:hidden}.mypage__profile-image{object-fit:cover;width:100%;height:100%}.mypage__profile-image-placeholder{color:#fff;background-color:#78a085;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.5rem;font-weight:700;display:flex}.mypage__profile-image-actions{flex-direction:column;gap:.5rem;display:flex}.mypage__file-input{display:none}.mypage__image-btn{cursor:pointer;text-align:center;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.mypage__image-btn--upload{color:#fff;background-color:#78a085}.mypage__image-btn--upload:hover{background-color:#6a8f77}.mypage__image-btn--remove{color:#fff;background-color:#e74c3c}.mypage__image-btn--remove:hover{background-color:#c0392b}@media (width<=1024px){.mypage__sidebar{width:240px}.mypage__profile-row{grid-template-columns:1fr;gap:1rem}.mypage__report-stats{grid-template-columns:1fr}}@media (width<=768px){.mypage{flex-direction:column}.mypage__sidebar{width:100%;height:auto;min-height:auto}.mypage__main{padding:1rem}.mypage__nav{padding:0;display:flex;overflow-x:auto}.mypage__nav-item{white-space:nowrap;border-bottom:3px solid #0000;border-left:none}.mypage__nav-item--active{border-bottom-color:#78a085;border-left:none}.mypage__modal{width:95%}}.toast-container{z-index:9999;flex-direction:column;gap:12px;width:100%;max-width:400px;display:flex;position:fixed;top:20px;right:20px}.toast{background:#fff;border-left:4px solid;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;animation:.3s ease-out slideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001f}.toast:before{content:"";background:currentColor;height:3px;animation:4s linear progress;position:absolute;bottom:0;left:0}.toast--success{color:#22c55e;border-left-color:#22c55e}.toast--error{color:#ef4444;border-left-color:#ef4444}.toast--warning{color:#f59e0b;border-left-color:#f59e0b}.toast--info{color:#3b82f6;border-left-color:#3b82f6}.toast__content{flex:1;align-items:flex-start;gap:12px;display:flex}.toast__icon{flex-shrink:0;font-size:20px;line-height:1}.toast__text{flex:1;min-width:0}.toast__title{color:#1f2937;margin-bottom:2px;font-size:14px;font-weight:600;line-height:1.4}.toast__message{color:#6b7280;font-size:13px;line-height:1.4}.toast__close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px;font-size:16px;line-height:1;transition:all .2s}.toast__close:hover{color:#6b7280;background-color:#f3f4f6}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes progress{0%{width:100%}to{width:0%}}@media (width<=768px){.toast-container{max-width:none;top:10px;left:10px;right:10px}.toast{padding:14px}.toast__title{font-size:13px}.toast__message{font-size:12px}}
