.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.public-shell{min-height:100vh;max-width:1440px;margin:0 auto;padding:24px}.public-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.public-brand{margin:6px 0 0;max-width:680px;color:#203548;font-size:2.5rem;line-height:1.02}.public-login-btn{width:auto;min-width:120px}.welcome-hero{display:grid;grid-template-columns:minmax(320px,480px) minmax(0,1fr);gap:28px;align-items:stretch}.welcome-copy,.welcome-preview-card,.locked-message-card{background:#ffffffe6;border:1px solid rgba(148,163,184,.22);border-radius:8px;box-shadow:0 20px 45px #0f172a14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.welcome-copy{padding:32px}.welcome-copy h2{margin:6px 0 14px;color:#203548;font-size:2rem;line-height:1.08}.welcome-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.welcome-preview-card{padding:18px}.auth-card{width:min(100%,460px);padding:32px;background:#fffffff0;border:1px solid rgba(148,163,184,.22);border-radius:8px;box-shadow:0 24px 50px #0f172a1f;text-align:left}.auth-card h1{margin:6px 0 12px;color:#203548;font-size:2rem;line-height:1.08}.auth-copy{margin:0 0 22px;color:#5f7082;line-height:1.6}.auth-btn{width:100%;padding:14px 18px;border:none;border-radius:6px;background:#2c3e50;color:#fff;font-weight:700;font-size:1rem}.auth-btn:disabled{opacity:.7;cursor:wait}.auth-error{margin:14px 0 0;color:#b42318;font-size:.92rem}.app-shell{min-height:100vh;padding:24px}.dashboard-layout{max-width:1160px;margin:0 auto}.dashboard-panel{padding:28px;background:#ffffffe6;border:1px solid rgba(148,163,184,.22);border-radius:8px;box-shadow:0 20px 45px #0f172a14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dashboard-title{margin:6px 0 0;color:#203548;font-size:2.2rem;line-height:1.05}.dashboard-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:26px 0;padding:18px;background:linear-gradient(135deg,#2c3e500d,#3498db1f);border:1px solid rgba(52,152,219,.18);border-radius:8px}.summary-card{display:flex;flex-direction:column;gap:4px}.summary-card strong{color:#203548;font-size:2rem}.summary-label{color:#5f7082;font-size:.88rem;text-transform:uppercase;letter-spacing:.08em}.resume-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.resume-card{display:flex;flex-direction:column;align-items:flex-start;min-height:220px;padding:22px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:#203548;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.resume-card:hover{transform:translateY(-2px);border-color:#3498db59;box-shadow:0 16px 28px #0f172a1a}.resume-card-label{margin-bottom:12px;color:#1b6ea9;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.resume-card h2{margin:0 0 8px;color:#203548;font-size:1.2rem;line-height:1.3}.resume-card p{margin:0;color:#5f7082;line-height:1.55}.resume-card-date{margin-top:auto;padding-top:18px;color:#73879a;font-size:.88rem}.empty-state{padding:42px 26px;border:1px dashed rgba(148,163,184,.55);border-radius:8px;background:#ffffffb3}.empty-state h2{margin:0 0 10px;color:#203548}.empty-state p{margin:0;color:#5f7082;line-height:1.6}.builder-layout{display:grid;grid-template-columns:minmax(360px,460px) minmax(0,1fr);gap:28px;align-items:start;max-width:1480px;margin:0 auto}.editor-panel,.preview-panel{background:#ffffffe6;border:1px solid rgba(148,163,184,.22);border-radius:8px;box-shadow:0 20px 45px #0f172a14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.editor-panel{padding:28px}.preview-panel{position:sticky;top:24px;padding:20px}.panel-intro h1{margin:4px 0 10px;color:#203548;font-size:2.2rem;line-height:1.05}.panel-topline{display:flex;justify-content:space-between;align-items:center;gap:12px}.eyebrow,.preview-label{margin:0;color:#1b6ea9;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.intro-copy,.preview-note{margin:0;color:#5f7082;font-size:.96rem;line-height:1.6}.session-note{margin:10px 0 0;color:#4e6478;font-size:.9rem}.signout-btn{min-width:100px;padding:10px 14px;border:1px solid rgba(44,62,80,.18);border-radius:6px;background:#fff;color:#2c3e50;font-size:.88rem;font-weight:700}.topline-actions{display:flex;flex-wrap:wrap;gap:10px}.toolbar-card{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 30px;padding:16px;background:linear-gradient(135deg,#2c3e500d,#3498db1f);border:1px solid rgba(52,152,219,.18);border-radius:8px}.toolbar-btn{min-width:140px;padding:11px 18px;border:none;border-radius:6px;color:#fff;font-size:.95rem;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.toolbar-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a29}.toolbar-btn.success{background:#27ae60}.toolbar-btn.accent{background:#3498db}.toolbar-btn.danger{background:#e74c3c}.toolbar-btn.dark{background:#2c3e50}.resume-meta-card{margin-bottom:24px;padding:22px;background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:8px}.meta-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.save-success{margin:14px 0 0;color:#18794e;font-size:.92rem;font-weight:600}.locked-message-card{padding:22px;margin-bottom:24px}.locked-message-card h2{margin:0 0 10px;color:#203548;font-size:1.2rem}.locked-message-card p{margin:0;color:#5f7082;line-height:1.6}.editor-sections{display:flex;flex-direction:column;gap:18px}.email-card{margin-bottom:24px;padding:22px;background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:8px}.email-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.email-card-header h2{margin:4px 0 0;color:#203548;font-size:1.2rem}.email-help{margin:0;max-width:220px;color:#5f7082;font-size:.9rem;line-height:1.5;text-align:right}.email-body{min-height:180px}.email-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.preview-header{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;padding:6px 4px 0}.preview-modes{display:inline-flex;gap:6px;padding:4px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:#ffffffc7}.preview-mode-btn{min-width:92px;padding:9px 14px;border:none;border-radius:999px;background:transparent;color:#5f7082;font-size:.88rem;font-weight:700}.preview-mode-btn.active{background:#2c3e50;color:#fff}.preview-stage{padding:12px;background:linear-gradient(180deg,#e3ecf4f2,#d3dfeac7);border:1px solid rgba(148,163,184,.22);border-radius:10px}.preview-window-bar{display:flex;gap:8px;align-items:center;margin-bottom:12px;padding:2px 4px 10px}.preview-window-bar span{width:10px;height:10px;border-radius:999px;background:#c6d2dc}.preview-window-bar span:nth-child(1){background:#ef6b63}.preview-window-bar span:nth-child(2){background:#f3b53f}.preview-window-bar span:nth-child(3){background:#52c26d}.resume-preview{overflow:auto;padding-bottom:6px}.desktop-stage .resume-preview,.mobile-stage .resume-preview{max-height:calc(100vh - 180px)}.desktop-preview-viewport,.mobile-preview-viewport{width:100%;overflow:hidden;background:#dbe5ee}.desktop-preview-viewport{border-radius:8px}.desktop-preview-canvas,.mobile-preview-canvas{width:100%}.desktop-preview-content,.mobile-preview-content{width:max-content;transform-origin:top left}.resume-preview.mobile-preview{width:min(100%,408px);margin:0 auto;padding:10px;border-radius:28px;background:#192734;box-shadow:inset 0 0 0 1px #ffffff14}.resume-preview.mobile-preview:before{content:"";display:block;width:34%;height:18px;margin:0 auto 10px;border-radius:999px;background:#ffffff1f}.resume-preview.mobile-preview>*{border-radius:20px}.mobile-preview-viewport{border-radius:20px}@media (max-width: 1180px){.welcome-hero,.builder-layout{grid-template-columns:1fr}.preview-panel{position:static}}@media (max-width: 640px){.app-shell,.public-shell{padding:14px}.public-header{flex-direction:column;align-items:flex-start}.public-brand{font-size:2rem}.dashboard-panel,.editor-panel,.preview-panel,.welcome-copy,.welcome-preview-card{padding:18px}.dashboard-summary{flex-direction:column;align-items:stretch}.panel-intro h1,.dashboard-title{font-size:1.75rem}.panel-topline{flex-direction:column;align-items:flex-start}.toolbar-card{flex-direction:column}.toolbar-btn,.meta-actions,.topline-actions{width:100%}.preview-header{flex-direction:column;align-items:flex-start}.preview-modes{width:100%}.preview-mode-btn{flex:1}.email-card-header{flex-direction:column}.email-help{max-width:none;text-align:left}}@media print{.app-shell{padding:0;background:#fff}.builder-layout{display:block;max-width:none}.editor-panel{display:none}.preview-panel{position:static;padding:0;background:transparent;border:none;box-shadow:none}.preview-header{display:none}}.section{padding:22px;background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:8px}.section h2{margin:0 0 18px;color:#2c3e50;font-size:1.2rem;padding-bottom:8px;border-bottom:2px solid rgba(52,152,219,.22)}.entry{margin-bottom:16px;padding:16px;background:#f8fafc;border-left:4px solid #3498db;border-radius:6px}.entry:last-of-type{margin-bottom:0}.form-group{margin-bottom:14px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:6px;color:#2c3e50;font-size:.88rem;font-weight:700}.form-group input,.form-group textarea,.form-group select{width:100%;padding:11px 12px;border:1px solid #c8d3dc;border-radius:6px;background:#fff;color:#243647;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 4px #3498db24}.form-group textarea{min-height:96px;resize:vertical}.btn-add,.btn-remove{border:none;border-radius:6px;font-size:.9rem;font-weight:700}.btn-add{margin-top:16px;padding:10px 16px;background:#27ae60;color:#fff}.btn-remove{padding:9px 14px;background:#e74c3c;color:#fff}.btn-add:hover,.btn-remove:hover{opacity:.94}.demo-resume{display:flex;width:100%;max-width:950px;margin:0 auto;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 18px 45px #11182724;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.demo-sidebar{width:320px;padding:40px;background:#2c3e50;color:#fff}.demo-sidebar h1{margin:0;font-size:2rem;line-height:1.1}.sidebar-role{margin:10px 0 0;color:#d3dce6;font-size:.95rem}.sidebar-section{margin-top:24px}.sidebar-section h2{margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid #3498db;color:#ecf0f1;font-size:1rem;text-transform:uppercase}.sidebar-section p,.sidebar-section li{margin:0 0 8px;color:#bdc3c7;font-size:.92rem}.sidebar-section ul{margin:0;padding-left:20px}.sidebar-section a{color:#fff;text-decoration:none;word-break:break-word}.sidebar-section a:hover{text-decoration:underline}.demo-main{flex:1;padding:40px}.demo-header{margin-bottom:20px}.demo-name{margin:0;color:#2c3e50;font-size:2.2rem}.demo-title{margin:8px 0 0;color:#3498db;font-size:1.2rem;font-weight:700;text-transform:uppercase}.demo-section{margin-top:28px}.demo-section h3{margin:0 0 14px;padding-bottom:6px;border-bottom:2px solid #3498db;color:#2c3e50;font-size:1.12rem}.demo-section p,.demo-section li{font-size:.95rem;line-height:1.6}.demo-item{margin-bottom:22px}.demo-item:last-child{margin-bottom:0}.demo-item-header,.project-heading{display:flex;justify-content:space-between;gap:16px;color:#2c3e50}.demo-item-header{font-weight:700}.demo-date,.project-heading em{color:#7f8c8d;font-size:.9rem;font-style:italic;white-space:nowrap}.demo-item ul{margin:10px 0 0;padding-left:20px}.demo-item p{margin:10px 0 0}.project-tech strong{color:#2c3e50}.education-list p{margin:0 0 10px}@media print{.demo-resume{box-shadow:none;border-radius:0;max-width:none}}:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color:#243647;background:radial-gradient(circle at top left,rgba(52,152,219,.18),transparent 28%),linear-gradient(180deg,#edf4f8,#e5edf3);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit}button,input,textarea,select{font:inherit}code{padding:.1rem .35rem;background:#2c3e5014;border-radius:4px}
