:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#183226;background:#eef4ee}.login-page{margin:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#f8fbf5 0,#e6efe7 55%,#d9e7dc 100%)}.login-card{box-sizing:border-box;width:min(92vw,450px);padding:42px;border:1px solid #d3dfd3;border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(36,67,46,.16)}.rootz-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#285f3d;color:white;font:700 30px Georgia,serif}.eyebrow{margin:22px 0 8px;color:#467255;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700}.login-card h1{font:700 34px/1.12 Georgia,serif;margin:0;color:#153d28}.intro,.privacy{color:#52685a;line-height:1.55}.login-card label{display:block;margin:28px 0 8px;font-weight:700}.login-card input{box-sizing:border-box;width:100%;padding:14px;border:1px solid #aebfaf;border-radius:10px;font-size:16px}.login-card input:focus{outline:3px solid #bee1c8;border-color:#296940}.login-card button{width:100%;margin-top:14px;padding:14px;border:0;border-radius:10px;background:#285f3d;color:white;font-weight:700;font-size:16px;cursor:pointer}.login-card button:disabled{opacity:.65}.error{min-height:22px;color:#a52626;font-weight:600}.privacy{font-size:13px;margin:20px 0 0;border-top:1px solid #e1e8e1;padding-top:18px}
#gateModal,#regBanner,#upgradeCheckBadge{display:none!important}.rootz-online-bar{position:sticky;top:0;z-index:9000;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:#173d29;color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.2);font:600 14px Inter,system-ui,sans-serif}.rootz-online-bar .brand{font:700 18px Georgia,serif;margin-right:4px}.rootz-online-bar .role{padding:4px 9px;border-radius:999px;background:#dcecdf;color:#174529}.rootz-online-bar .save-status{margin-left:auto;color:#d9e8dc;font-weight:500}.rootz-online-bar button{border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;border-radius:7px;padding:7px 11px;font-weight:700;cursor:pointer}.rootz-online-bar button.primary{background:#fff;color:#174529}.rootz-modal-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(8,25,14,.66);display:grid;place-items:center;padding:20px}.rootz-modal{width:min(94vw,760px);max-height:88vh;overflow:auto;background:white;color:#183226;border-radius:16px;padding:25px;box-shadow:0 28px 80px rgba(0,0,0,.3)}.rootz-modal h2{margin:0 0 8px;font:700 27px Georgia,serif}.rootz-modal .close{float:right;background:transparent;border:0;font-size:26px;cursor:pointer}.code-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 0}.code-form input,.code-form select{padding:10px;border:1px solid #b7c5b9;border-radius:7px}.code-form button{grid-column:1/-1;padding:11px;border:0;border-radius:7px;background:#285f3d;color:white;font-weight:700}.generated-code{padding:15px;border-radius:9px;background:#edf7ef;border:1px solid #bad4c0;margin:10px 0}.generated-code code{font-size:16px;font-weight:700;word-break:break-all}.code-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border-top:1px solid #e2e8e3;padding:12px 0}.code-row small{display:block;color:#617066}.code-row button{padding:7px 10px;border:1px solid #ad3232;background:white;color:#9b2020;border-radius:6px}.rootz-viewer #setFamilyLineNameBtn,.rootz-viewer #crestUploadLabel,.rootz-viewer #removeCrestBtn,.rootz-viewer #adminModeBtn,.rootz-viewer #clearDataBtn,.rootz-viewer #undoBtn,.rootz-viewer #redoBtn,.rootz-viewer #importBtn,.rootz-viewer .add-child-btn,.rootz-viewer .edit-btn,.rootz-viewer .delete-btn,.rootz-viewer .lock-btn,.rootz-viewer .move-child-btn{display:none!important}.rootz-branch_editor #setFamilyLineNameBtn,.rootz-branch_editor #crestUploadLabel,.rootz-branch_editor #removeCrestBtn,.rootz-branch_editor #adminModeBtn,.rootz-branch_editor #clearDataBtn,.rootz-branch_editor #importBtn,.rootz-branch_editor .lock-btn,.rootz-branch_editor .person-card.rootz-outside .add-child-btn,.rootz-branch_editor .person-card.rootz-outside .edit-btn,.rootz-branch_editor .person-card.rootz-outside .delete-btn,.rootz-branch_editor .person-card.rootz-outside .move-child-btn,.rootz-branch_editor .person-card.rootz-branch-root .delete-btn,.rootz-branch_editor .person-card.rootz-branch-root .move-child-btn{display:none!important}@media(max-width:640px){.login-card{padding:28px 22px}.rootz-online-bar .save-status{order:3;width:100%;margin-left:0}.code-form{grid-template-columns:1fr}}
