:root{
  --navy:#17233b;--navy2:#243451;--ink:#1f2a3d;--muted:#667085;--line:#e3e7ee;
  --bg:#f5f7fb;--card:#fff;--gold:#d6ad54;--pink:#e56f91;--purple:#765fd0;--teal:#3fa8a3;
  --orange:#ec9656;--green:#65a66e;--danger:#b43e4d;--shadow:0 10px 30px rgba(23,35,59,.08)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.boot-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;background:linear-gradient(145deg,#eef2f8,#fdf8ee)}
.brand-mark,.avatar-fallback{display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--purple));color:#fff;font-weight:900}.brand-mark{width:74px;height:74px;border-radius:24px;font-size:25px;box-shadow:var(--shadow)}
.boot-title{font-size:28px;font-weight:900;margin-top:18px}.boot-sub{color:var(--muted);margin-top:6px}
.auth-wrap{min-height:100vh;display:grid;align-items:center;padding:22px;background:linear-gradient(150deg,#edf3fb 0%,#fff8ef 50%,#f8eef7 100%)}
.auth-card{width:min(100%,460px);margin:auto;background:#fff;border:1px solid rgba(23,35,59,.08);border-radius:28px;padding:24px;box-shadow:var(--shadow)}
.auth-logo{display:flex;align-items:center;gap:14px}.auth-logo .brand-mark{width:56px;height:56px;border-radius:18px;font-size:18px}.auth-logo h1{margin:0;font-size:24px}.auth-logo p{margin:3px 0 0;color:var(--muted);font-size:13px}
.field{display:block;margin-top:16px;font-size:13px;font-weight:800}.field input,.field textarea{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:15px;padding:14px 15px;font-size:16px;outline:none;background:#fff;color:var(--ink)}.field input:focus,.field textarea:focus{border-color:#9ca9c0;box-shadow:0 0 0 3px #edf1f8}.field textarea{resize:vertical;min-height:88px}
.pin-input{letter-spacing:.35em;text-align:center;font-size:22px!important;font-weight:900}.check-row{display:flex;align-items:center;gap:10px;margin-top:15px;font-size:13px;color:var(--muted)}.check-row input{width:18px;height:18px}
.primary,.secondary,.soft,.danger,.icon-button,.choice-btn,.nav-button,.chip,.circle-btn{border:0}.primary{width:100%;min-height:50px;border-radius:16px;background:var(--navy);color:#fff;font-weight:900;padding:12px 16px}.secondary{min-height:46px;border-radius:14px;background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:800;padding:10px 14px}.soft{min-height:46px;border-radius:14px;background:#eef2f7;color:var(--navy);font-weight:900;padding:10px 14px}.danger{min-height:46px;border-radius:14px;background:#fff1f2;color:var(--danger);font-weight:900;padding:10px 14px}.primary:disabled,.secondary:disabled,.soft:disabled{opacity:.55;cursor:not-allowed}.msg{min-height:20px;margin-top:10px;font-size:13px;color:var(--danger)}
.app-shell{min-height:100vh;padding-bottom:88px}.topbar{position:sticky;top:0;z-index:20;background:rgba(245,247,251,.92);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid rgba(227,231,238,.8)}.top-brand{display:flex;align-items:center;gap:10px;min-width:0}.top-brand .brand-mark{width:42px;height:42px;border-radius:14px;font-size:14px}.top-brand strong{display:block}.top-brand span{display:block;color:var(--muted);font-size:11px;margin-top:1px}.profile-button{border:0;background:transparent;padding:0}.profile-avatar{width:43px;height:43px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.avatar-fallback{width:43px;height:43px;border-radius:50%;font-size:14px}
.content{width:min(100%,900px);margin:0 auto;padding:18px 15px}.hello{font-size:13px;color:var(--muted);font-weight:800}.page-title{font-size:27px;line-height:1.08;margin:4px 0 7px;font-weight:950;letter-spacing:-.03em}.page-sub{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.hero-card{border-radius:26px;padding:21px;color:#fff;background:linear-gradient(135deg,var(--navy),#42577a 55%,#7d5f9e);box-shadow:var(--shadow)}.hero-card .eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:900;opacity:.72}.hero-card h2{margin:8px 0 6px;font-size:25px;line-height:1.1}.hero-card p{margin:0;line-height:1.5;font-size:13px;opacity:.88}.hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.hero-action{min-height:45px;border:0;border-radius:14px;padding:10px 14px;background:#fff;color:var(--navy);font-weight:900}.hero-action.ghost{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.24)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:22px 2px 10px}.section-head h3{margin:0;font-size:17px}.section-head button{border:0;background:transparent;color:var(--purple);font-weight:900}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 6px 20px rgba(23,35,59,.04)}
.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-card{border:1px solid var(--line);background:#fff;border-radius:19px;padding:17px;text-align:left;min-height:118px;box-shadow:0 5px 18px rgba(23,35,59,.04)}.action-card .emoji{font-size:25px}.action-card strong{display:block;margin-top:12px;font-size:15px}.action-card span{display:block;color:var(--muted);font-size:11px;margin-top:4px;line-height:1.35}
.board-list{display:grid;gap:10px}.board-row{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:19px;padding:12px}.board-thumb{width:54px;height:54px;border-radius:14px;background:linear-gradient(145deg,#f4e5ff,#ffefd9);display:grid;place-items:center;font-size:25px}.board-row h4{margin:0;font-size:15px}.board-row p{margin:4px 0 0;color:var(--muted);font-size:11px}.circle-btn{width:42px;height:42px;border-radius:50%;background:#eef2f7;font-size:18px;color:var(--navy)}
.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:7px max(10px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.nav-button{background:transparent;border-radius:14px;padding:7px 4px;color:#738096;font-size:10px;font-weight:800;min-height:56px}.nav-button .nav-icon{display:block;font-size:20px;margin-bottom:3px}.nav-button.active{background:#eef2f8;color:var(--navy)}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(9,16,29,.52);display:flex;align-items:flex-end;justify-content:center;padding:0}.modal{width:100%;max-height:90vh;overflow:auto;background:#fff;border-radius:25px 25px 0 0;padding:17px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(0,0,0,.18)}.modal-handle{width:44px;height:5px;border-radius:10px;background:#d9dee7;margin:0 auto 12px}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.modal-head h2{font-size:21px;margin:0}.modal-head p{font-size:12px;color:var(--muted);margin:5px 0 0;line-height:1.4}.modal-close{width:40px;height:40px;border:0;border-radius:50%;background:#eef2f7;font-size:18px}.modal-actions{display:flex;gap:9px;margin-top:17px}.modal-actions>*{flex:1}.button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px}.choice-btn{min-height:58px;border-radius:16px;background:#f7f8fb;border:1px solid var(--line);font-weight:900;color:var(--ink);padding:10px}.choice-btn.selected{background:#e9edfb;border-color:#a9b2d2;color:#3e397b}.choice-btn .small{display:block;font-size:10px;color:var(--muted);font-weight:700;margin-top:3px}.photo-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.photo-choice button{min-height:88px;border:1px dashed #cdd4df;background:#fafbfd;border-radius:18px;font-weight:900;color:var(--navy)}.photo-choice span{display:block;font-size:24px;margin-bottom:6px}
.editor-banner{display:flex;align-items:center;gap:13px;margin-bottom:14px}.back-btn{width:44px;height:44px;border:0;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:20px}.editor-banner h2{margin:0;font-size:20px}.editor-banner p{margin:3px 0 0;font-size:11px;color:var(--muted)}
.status-line{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:11px 13px;margin-bottom:13px}.status-line span{font-size:11px;color:var(--muted)}.status-line strong{font-size:12px;color:var(--green)}
.mini-preview{border-radius:23px;overflow:hidden;border:1px solid var(--line);background:#fff;margin-top:14px}.mini-head{padding:18px;text-align:center;color:#fff;background:linear-gradient(135deg,#5f50ad,#d16488,#eaa158)}.mini-head h3{margin:3px 0 6px;font-size:20px}.mini-head p{margin:0;font-size:10px;opacity:.85}.mini-dreams{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:9px;background:#fffaf4}.mini-dream{min-height:94px;border-radius:14px;overflow:hidden;background:#f2f4f8;position:relative}.mini-dream img{width:100%;height:100%;object-fit:cover}.mini-dream .fallback{height:100%;display:grid;place-items:center;font-size:28px}.mini-dream label{position:absolute;left:5px;right:5px;bottom:5px;background:rgba(255,255,255,.9);border-radius:8px;padding:4px;font-size:8px;font-weight:900;text-align:center}
.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.template-card{border:1px solid var(--line);border-radius:19px;padding:10px;background:#fff;text-align:left}.template-swatch{height:100px;border-radius:14px;border:1px solid rgba(0,0,0,.05)}.template-card strong{display:block;margin-top:9px}.template-card span{font-size:10px;color:var(--muted)}.sw-colorful{background:linear-gradient(135deg,#7159c8,#e46c91,#efa85f)}.sw-classic{background:linear-gradient(145deg,#fffaf0,#e9f1f8)}.sw-dark{background:linear-gradient(145deg,#121827,#4a3e28)}.sw-tropical{background:linear-gradient(135deg,#0d6b70,#44b899,#f4bb63)}.sw-modern{background:linear-gradient(145deg,#f3f4f6,#dbe5f2)}
.profile-card{text-align:center}.big-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 0 0 1px var(--line);margin:0 auto}.big-avatar.avatar-fallback{font-size:25px}.profile-card h2{margin:12px 0 3px}.profile-card p{margin:0;color:var(--muted);font-size:12px}.profile-actions{display:grid;gap:9px;margin-top:16px}.admin-list{display:grid;gap:7px;margin-top:12px}.member-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:14px;padding:10px 12px}.member-row strong{font-size:13px}.member-row span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.badge{font-size:9px;font-weight:900;background:#eef2f7;color:var(--navy);padding:5px 7px;border-radius:20px;text-transform:uppercase}
.preview-screen{position:fixed;inset:0;z-index:90;background:#e8ebf0;overflow:auto;padding:12px 10px 90px}.preview-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(232,235,240,.94);backdrop-filter:blur(10px);padding:5px 0 10px}.preview-toolbar button{min-height:44px}.print-sheet{width:min(100%,720px);margin:0 auto;background:#fffdf8;color:#171717;border-radius:8px;overflow:hidden;box-shadow:0 15px 45px rgba(0,0,0,.13)}.print-header{text-align:center;padding:28px 22px;color:#fff;background:linear-gradient(125deg,#624eb5,#cd5e89,#ed9a55)}.theme-classic .print-header{background:linear-gradient(125deg,#22344f,#8093a9)}.theme-dark-gold{background:#171a21!important;color:#f9f4e9}.theme-dark-gold .print-header{background:linear-gradient(125deg,#111722,#6d5729)}.theme-tropical .print-header{background:linear-gradient(125deg,#116d72,#39a895,#e1a44f)}.theme-modern .print-header{background:linear-gradient(125deg,#273448,#65768c)}.print-profile{width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.8);margin:0 auto 8px}.print-header .eyebrow{font-size:9px;font-weight:900;letter-spacing:.26em;text-transform:uppercase;opacity:.75}.print-header h1{margin:5px 0 4px;font-size:28px}.print-header p{max-width:560px;margin:8px auto 0;font-size:12px;line-height:1.55;opacity:.9}.power-word{display:inline-block;margin-top:10px;border-radius:30px;padding:7px 14px;background:rgba(255,255,255,.18);font-size:10px;font-weight:900;letter-spacing:.08em}.print-body{padding:15px}.print-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.print-dream{border:1px solid #e4ded5;border-radius:13px;overflow:hidden;background:#fff}.print-dream.featured{grid-column:span 2;display:grid;grid-template-columns:1.25fr 1fr}.print-photo{height:148px;background:#f0f1f4;overflow:hidden}.print-dream.featured .print-photo{height:190px}.print-photo img{width:100%;height:100%;object-fit:cover}.print-photo .fallback{height:100%;display:grid;place-items:center;font-size:44px}.print-copy{padding:10px;background:#fff7e9}.print-copy.cat-Travel{background:#ebf7ff}.print-copy.cat-Business{background:#f3edff}.print-copy.cat-Health{background:#edf8ef}.print-copy.cat-Giving{background:#fff0f5}.print-copy.cat-Family{background:#fff1ea}.print-copy.cat-Home{background:#fff5dd}.print-copy.cat-Financial-Freedom{background:#edf8ef}.print-copy .cat{font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:#6c7380;font-weight:900}.print-copy h3{margin:3px 0 3px;font-size:16px}.print-copy p{margin:0;font-size:10px;line-height:1.45;color:#565d69}.print-bottom{display:grid;grid-template-columns:.9fr 1.1fr;gap:8px;margin-top:9px}.why-box,.quote-box{border-radius:13px;padding:13px}.why-box{background:#242238;color:#fff}.quote-box{background:#fff;border:1px solid #e4ded5;text-align:center}.print-bottom small{font-size:8px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;opacity:.6}.print-bottom p{font-size:11px;line-height:1.45;margin:6px 0 0;font-weight:700}.quote-box strong{display:block;margin-top:7px;font-size:16px}.print-footer{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #ece7df;margin-top:10px;padding-top:9px;color:#9298a3;font-size:7px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.toast{position:fixed;z-index:200;left:50%;bottom:95px;transform:translateX(-50%);background:#1e293b;color:white;padding:11px 14px;border-radius:13px;font-size:12px;font-weight:800;box-shadow:var(--shadow)}
@media(min-width:700px){.content{padding:26px 22px}.action-grid{grid-template-columns:repeat(4,1fr)}.template-grid{grid-template-columns:repeat(3,1fr)}.modal-backdrop{align-items:center;padding:20px}.modal{max-width:560px;border-radius:25px;max-height:86vh}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:520px;border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0}}
@media print{
  @page{size:letter portrait;margin:.3in}
  body{background:white!important}.app-shell,.bottom-nav,.topbar,.preview-toolbar,.toast,.modal-backdrop{display:none!important}.preview-screen{position:static!important;padding:0!important;background:white!important;overflow:visible!important}.print-sheet{width:100%!important;max-width:none!important;box-shadow:none!important;border-radius:0!important}.print-header{padding:20px 18px!important}.print-header h1{font-size:24px!important}.print-body{padding:12px!important}.print-photo{height:125px!important}.print-dream.featured .print-photo{height:155px!important}.print-copy p{font-size:9px!important}.print-bottom{margin-top:7px!important}}
