:root{--green:#573e30;--deep:#35271f;--ink:#40342c;--muted:#81766b;--paper:#fffdf7;--bg:#fbf8f0;--line:#e8decc;--gold:#8d6646;--pale:#f2e9de;--amber:#fbf1d9;--red:#ad443c;--radius:14px;--shadow:0 12px 40px #35271f10;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green)}button{border:1px solid var(--line);border-radius:9px;padding:10px 15px;background:white;color:var(--ink);font-weight:600;display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:42px;white-space:nowrap}button:hover{background:#f3ece2;border-color:#bdab94}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover{background:#70513a}button.gold{background:var(--gold);color:white;border-color:var(--gold)}button.danger{color:var(--red)}button.ghost{background:transparent;border-color:transparent}button.small{padding:6px 10px;font-size:13px;min-height:34px}button.icon-btn,.icon-link{border:0;border-radius:50%;background:var(--pale);height:39px;width:39px;padding:9px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--green)}button.icon-btn:hover,.icon-link:hover{background:#e9dccb}svg.icon{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:500;color:var(--deep);line-height:1.16}h1{font-size:36px;letter-spacing:-1px;margin:5px 0 8px}h2{font-size:24px;letter-spacing:-.4px;margin:0 0 13px}h3{font-size:20px;margin:0 0 6px}p{margin:0 0 12px}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:11px}.caps{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;font-weight:700}.skip{position:fixed;top:-100px;left:15px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}:focus-visible{outline:3px solid #aa825b;outline-offset:3px}.shell{display:flex;min-height:100vh}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:var(--green);color:#fff;display:flex;flex-direction:column;padding:32px 20px 20px;z-index:20}.brand{font-family:Georgia,serif;font-size:27px;line-height:1.07;letter-spacing:-.8px;margin-bottom:18px}.brand-mark{width:38px;height:38px;border:1px solid #fffefa40;border-radius:10px;display:grid;place-items:center;margin-bottom:18px}.sidebar .caps{color:#d8c7b5;letter-spacing:1.2px}.sidebar nav{display:grid;gap:5px;margin-top:27px}.nav-item{justify-content:flex-start;border:0;background:none;color:#e7dbce;border-radius:8px;font-weight:400;padding:11px 13px;position:relative;width:100%;font-size:14px}.nav-item:hover{background:#fffefa0d;border:0}.nav-item.active{background:#fffefa12;color:white;font-weight:600}.nav-item.active:before{content:'';position:absolute;left:0;top:9px;bottom:9px;width:3px;background:#c5a27c;border-radius:3px}.nav-item .badge{margin-left:auto;background:#a78057;color:white;font-size:10px;min-width:19px;padding:0 5px;border-radius:10px}.side-foot{margin-top:auto;padding-top:24px}.side-foot p{margin:6px 0;color:#d2c0ac;font-size:12px}.side-foot .avatar{background:#e8dbca;color:#573e30}.side-foot .user{display:flex;gap:10px;align-items:center;border-top:1px solid #fffefa22;padding-top:18px}.workspace{margin-left:240px;flex:1;min-width:0}.preview-bar{background:#eee6db;border-bottom:1px solid #ddd0c0;min-height:48px;padding:8px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#827362;font-size:12px}.preview-bar b{color:#67513c}.preview-bar button{min-height:28px;padding:3px 8px;font-size:12px;background:transparent;border-color:#d3c4b1}.preview-tools{display:flex;gap:10px;align-items:center}.preview-tools select{font-size:12px;padding:5px 26px 5px 8px;background:transparent;border-color:#d9ccba;max-width:175px}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line);background:var(--paper)}.topbar .right{display:flex;align-items:center;gap:14px}.topbar .mobile-brand{display:none}.status-dot{width:6px;height:6px;border-radius:50%;background:#9a7a55;display:inline-block;margin-right:6px}.content{width:100%;max-width:none;margin:0;padding:32px 36px 70px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.page-head p{color:var(--muted);margin:0}.head-actions{display:flex;gap:9px;flex-wrap:wrap}.eyebrow{color:#a2825c;letter-spacing:1.6px;text-transform:uppercase;font-size:10px;font-weight:700}.toolbar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.search{position:relative;flex:1;min-width:220px}.search svg{position:absolute;left:15px;top:14px;color:#998b7b}.search input{padding-left:45px;background:var(--paper);min-height:48px}input,select,textarea{width:100%;border:1px solid #e3d8c9;background:white;border-radius:8px;padding:10px 12px;color:var(--ink);min-height:42px}input[type=checkbox]{width:17px;min-height:auto;accent-color:var(--green)}textarea{resize:vertical;min-height:90px}.toolbar select{width:auto;min-width:145px;background:var(--paper)}.directory-info{display:flex;align-items:center;justify-content:space-between;margin:18px 0;color:var(--muted);font-size:12px}.alphabet{display:flex;gap:2px}.alphabet button{min-height:30px;font-size:11px;padding:3px 10px;border:0;background:none}.alphabet button.active{background:var(--green);color:white}.household{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin-bottom:14px;overflow:hidden;box-shadow:0 3px 8px #35271f03}.house-head{display:flex;gap:15px;align-items:center;padding:19px 22px}.avatar{width:45px;height:45px;border-radius:50%;background:#efe3d2;color:#78583c;font-family:Georgia,serif;font-size:20px;display:grid;place-items:center;flex-shrink:0}.avatar.big{height:54px;width:54px;font-size:23px}.house-info{flex:1;min-width:0}.house-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:5px}.house-title h3{margin:0;font-size:22px}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;border-radius:16px;background:#eee4d7;color:#896a49;padding:3px 9px;line-height:1.6}.pill.amber{background:var(--amber);color:#8c6b2a}.pill.red{background:#f9e8e3;color:#a2473c}.pill.gray{background:#f0ebe3;color:#8a7a68}.house-address{font-size:13px;color:#8d7c6b}.house-actions{display:flex;gap:5px;align-items:center}.house-body{padding:0 22px 18px}.people-header,.person-row{display:grid;grid-template-columns:1fr 1.45fr 130px;gap:14px;align-items:center}.people-header{padding:9px 14px;background:#f6f1e9;font-size:9px;font-weight:700;letter-spacing:1px}.person-row{padding:16px 14px;border-bottom:1px solid #eee6da}.person-name{display:flex;gap:12px;align-items:center}.person-name .avatar{height:36px;width:36px;font-family:Arial,sans-serif;font-size:12px}.person-name b{font-size:14px}.contact-line{font-size:13px;margin:2px 0;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.contact-line .label{min-width:57px;color:#9a8977;font-size:11px}.contact-line a{text-decoration:none;overflow-wrap:anywhere}.contact-line a:hover{text-decoration:underline}.quick-actions{display:flex;gap:7px;justify-content:flex-end}.emergency-strip{background:#fcf4e0;border:1px solid #eee1ba;border-radius:8px;padding:14px 16px;margin-top:15px;display:flex;gap:14px;align-items:center;justify-content:space-between}.emergency-strip strong{font-size:13px}.confirmed{margin:12px 0 0;font-size:10px;color:#9b8c7c;display:flex;justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card>p:last-child{margin-bottom:0}.card .card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.card .card-top h3{margin:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.stat{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:18px}.stat span{font-size:11px;color:var(--muted)}.stat strong{display:block;font-family:Georgia,serif;font-size:35px;font-weight:400;line-height:1.4}.stat.amber{border-color:#e2d3a8;background:#faf3e3}.row-list{display:grid;gap:12px}.list-row{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;align-items:center;gap:15px;justify-content:space-between}.list-row .grow{flex:1;min-width:0}.list-row h3{font-size:19px}.list-row p{font-size:13px;color:var(--muted);margin:5px 0 0}.row-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.group-members{border-top:1px solid var(--line);margin-top:18px;padding-top:15px;display:flex;align-items:center;justify-content:space-between}.info-note{background:#f5eee2;border:1px solid #e7d7bf;border-radius:9px;color:#8a6c45;font-size:13px;padding:13px 16px;margin:14px 0;display:flex;gap:10px;align-items:flex-start}.info-note.warning{background:#faf2df;border-color:#ead8aa;color:#866728}.empty{padding:55px 25px;text-align:center;border:1px dashed #d9c9b4;border-radius:14px;background:#fdfaf5}.empty svg{height:32px;width:32px;color:#b4a084}.empty h3{margin-top:15px}.empty p{color:var(--muted);font-size:13px}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow:auto}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:10px 0;color:var(--muted)}.tabs button.active{border-color:var(--green);color:var(--green)}.person-meta{color:var(--muted);font-size:12px;margin-top:4px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:6px;font-size:12px;font-weight:600}.field.full{grid-column:1/-1}.field small{font-weight:400;color:var(--muted);font-size:11px}.check{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:400}.check input{flex:none}.field-section{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;position:sticky;bottom:-24px;background:var(--paper);padding:16px 0 4px;border-top:1px solid var(--line)}dialog{padding:0;border:1px solid var(--line);border-radius:18px;width:680px;max-width:calc(100% - 28px);max-height:90dvh;color:var(--ink);box-shadow:0 25px 90px #35271f40;background:var(--paper)}dialog::backdrop{background:#35271f77;backdrop-filter:blur(3px)}.modal-header{padding:22px 26px 16px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:2}.modal-header h2{margin:0;font-size:27px}.modal-body{padding:24px 26px}.dialog-lead{color:var(--muted);font-size:13px;margin-bottom:20px}.member-editor{background:#f9f4ec;border:1px solid #e9dece;padding:18px;border-radius:10px;margin-bottom:12px}.member-editor header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.phone-editor{display:grid;grid-template-columns:110px 1fr 34px;gap:7px;margin:8px 0}.phone-editor button{padding:0;min-width:34px}.change-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.change-row span{display:block;color:var(--muted);font-size:10px;letter-spacing:.8px;text-transform:uppercase}.diff-old{color:#8a6a64;text-decoration:line-through}.diff-new{color:#78512f}.alert-body{white-space:pre-wrap;overflow-wrap:anywhere}.progress-bar{height:5px;background:#eae0d2;border-radius:3px;margin:14px 0;overflow:hidden}.progress-bar>span{display:block;height:100%;background:#a1815c}.timeline{border-left:2px solid #e8d9c4;margin-left:7px;padding-left:24px}.timeline-item{padding:0 0 25px;position:relative}.timeline-item:before{content:'';position:absolute;width:8px;height:8px;background:#b89b75;border-radius:50%;left:-29px;top:6px}.timeline-item p{font-size:13px;margin:3px 0}.timeline-item small{color:var(--muted);font-size:11px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font-size:10px;letter-spacing:.6px;color:var(--muted);background:#f7f1e7}td,th{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.print-layout{display:grid;grid-template-columns:290px 1fr;gap:25px;align-items:start}.print-controls{padding:22px;position:sticky;top:15px}.print-controls .field{margin-bottom:15px}.print-preview{background:#eee4d7;border:1px solid #e1d2bd;border-radius:14px;padding:25px;min-height:500px}.paper{background:white;color:#222;box-shadow:0 8px 22px #35271f0e;padding:40px;max-width:650px;margin:0 auto;font-family:Arial, sans-serif}.paper h2,.paper h3{color:#222}.paper h2{text-align:center}.paper .paper-sub{text-align:center;color:#666;font-size:12px}.paper-house{padding:18px 0;border-bottom:1px solid #aaa;break-inside:avoid}.paper-house h3{font-size:18px}.paper p{margin:4px 0;font-size:12px}.paper strong{font-size:13px}.paper .print-person{margin:10px 0}.paper.large p{font-size:16px}.paper.large strong{font-size:17px}.paper.large h3{font-size:22px}.paper-foot{margin-top:20px;font-size:10px;color:#777}.actions-stack{display:flex;flex-direction:column;gap:9px}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.tagline{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.display-value{font-family:Georgia,serif;font-size:18px;margin:4px 0 12px}.divider{border:0;border-top:1px solid var(--line);margin:20px 0}.flex{display:flex;align-items:center;gap:10px}.spread{justify-content:space-between}.mobile-nav{display:none}button.menu-toggle{display:none}.notification-number{background:#a27c4e;border-radius:50%;color:white;font-size:10px;min-width:18px;height:18px;display:grid;place-items:center}.wrap{overflow-wrap:anywhere}.help-number{font-family:Georgia,serif;font-size:25px;color:#aa895f}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,15px);padding:13px 22px;border-radius:10px;background:var(--deep);color:white;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.2s;max-width:calc(100% - 30px);z-index:50;font-size:13px}#toast.show{opacity:1;transform:translate(-50%,0)}.status-select{min-width:145px;width:auto}.checklist{display:grid;gap:11px}.checklist .check{align-items:flex-start}.link-button{background:none;border:0;color:var(--green);padding:2px;min-height:unset;text-align:left;font-size:13px;text-decoration:underline;white-space:normal}.footer-note{color:#998775;font-size:11px;margin-top:24px}.error{color:var(--red);font-size:13px;padding:12px 0}.hidden{display:none!important}
@media(min-width:1500px){.sidebar{width:260px}.workspace{margin-left:260px}.content{padding-top:40px}}
@media(max-width:1150px){.sidebar{width:215px;padding:26px 15px}.workspace{margin-left:215px}.content{padding:25px 24px 70px}.topbar{padding:0 24px}.preview-bar{padding:8px 24px}.people-header,.person-row{grid-template-columns:1fr 1.3fr 90px}.quick-actions{gap:4px}.quick-actions .icon-link{width:30px;height:30px;padding:7px}.preview-tools{gap:5px}.print-layout{grid-template-columns:230px 1fr}.paper{padding:28px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{align-items:flex-start}.page-head h1{font-size:31px}.head-actions button{font-size:12px;padding:9px 10px}.person-name .avatar{display:none}}
@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:.2s;width:250px;box-shadow:12px 0 50px #0004}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}button.menu-toggle{display:inline-flex}.topbar{height:66px}.topbar .mobile-brand{display:block;font-family:Georgia,serif;font-size:20px}.topbar .desktop-title{display:none}.preview-bar{flex-wrap:wrap;padding:8px 20px;gap:7px}.preview-tools{margin-left:auto}.preview-tools select{max-width:140px}.content{padding:25px 20px 100px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);justify-content:space-around;padding:7px 4px max(7px,env(safe-area-inset-bottom));z-index:15}.mobile-nav button{border:0;background:none;font-size:10px;flex-direction:column;gap:3px;padding:4px 10px;min-width:55px;color:var(--muted)}.mobile-nav button.active{color:var(--green)}.mobile-nav button.active svg{stroke-width:2.3}.topbar .right .small{display:none}#toast{bottom:85px}.side-foot{padding-bottom:70px}.print-layout{grid-template-columns:1fr}.print-controls{position:static}.print-controls .options-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.split{grid-template-columns:1fr}}
@media(max-width:560px){:root{font-size:14px}.content{padding:22px 15px 100px}.preview-bar{padding:7px 15px;font-size:10px;gap:5px}.preview-bar .preview-tools{width:100%;justify-content:space-between}.preview-tools select{font-size:11px;max-width:170px;min-height:31px}.preview-bar>div:first-child{width:100%}.topbar{padding:0 15px}.page-head{display:block;margin-bottom:19px}.page-head h1{font-size:31px}.head-actions{margin-top:16px;gap:8px}.head-actions button{padding:9px 13px;font-size:12px}.toolbar{gap:8px}.toolbar .search{flex-basis:100%}.toolbar select{font-size:12px;min-width:0;flex:1}.directory-info{display:block}.alphabet{margin-top:10px}.house-head{padding:15px;gap:10px;align-items:flex-start}.avatar.big{width:39px;height:39px;font-size:17px}.house-title h3{font-size:21px}.house-title{gap:5px}.house-address{font-size:12px}.house-actions{flex-direction:column}.house-actions .small{padding:0 4px;font-size:10px;min-height:28px}.house-body{padding:0 15px 14px}.people-header{display:none}.person-row{position:relative;display:block;padding:15px 0}.person-name{padding-right:106px}.person-name .avatar{display:none}.person-name b{font-size:14px}.person-contacts{padding-top:6px}.contact-line{font-size:12px}.quick-actions{position:absolute;right:0;top:13px;gap:6px}.quick-actions .icon-link{width:29px;height:29px}.emergency-strip{padding:12px;display:block}.emergency-strip .em-details{margin:8px 0}.emergency-strip .small{font-size:11px}.emergency-strip button{float:right;font-size:11px;min-height:28px}.confirmed{font-size:9px;gap:10px}.grid,.grid.two{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:13px 16px}.stat strong{font-size:30px}.list-row{display:block;padding:17px}.list-row>.avatar{display:none}.row-actions{justify-content:flex-start;margin-top:14px}.list-row p{font-size:12px}.card{padding:19px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-header{padding:20px}.modal-body{padding:20px}.modal-header h2{font-size:24px}.phone-editor{grid-template-columns:90px 1fr 30px}.phone-editor input,.phone-editor select{padding:9px 7px;font-size:12px}.form-footer{flex-wrap:wrap}.paper{padding:20px}.print-preview{padding:12px}.print-controls .options-grid{grid-template-columns:1fr}.info-note{font-size:12px}.topbar .right{gap:6px}.brand{font-size:26px}.preview-tools>label{font-size:10px}.preview-tools .role-label{display:none}}
.danger-zone{border:2px solid #c45e54;background:#fff5f1;border-radius:14px;padding:25px;margin-top:35px}.danger-title{display:flex;gap:12px;align-items:center;color:#a63b32}.danger-title h2,.danger-title h1{color:#8e3028;margin:0 0 12px}.danger-zone p{color:#843c34;font-size:13px}.danger-solid{background:#a5362d;color:white;border-color:#a5362d}.danger-solid:hover{background:#85281f;border-color:#85281f}.danger-warning{display:flex;gap:13px;padding:17px;background:#fff0e9;border:2px solid #ca6b60;border-radius:10px;color:#8b342a;margin-bottom:20px}.danger-warning.strong{background:#a5362d;color:white;border-color:#8d2b23}.danger-warning p{margin:8px 0 0;font-size:13px}.danger-warning .icon{flex-shrink:0;margin-top:2px}.danger-mini{border-top:1px solid #edd1c8;padding-top:15px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:8px}.danger-mini>span{display:flex;align-items:center;gap:5px;font-size:10px;color:#9b4539}.danger-mini .icon{height:15px;width:15px}.danger-counts{grid-template-columns:repeat(2,1fr)}

/* Cream-led Midpoint-inspired palette. */
.sidebar{background:#f0e6d5;color:#55412e;border-right:1px solid #e2d4bf}
.brand{color:#58412b}.brand-mark{border-color:#ccb99d;color:#785a3b;background:#faf4e8}
.sidebar .caps{color:#927858}.nav-item{color:#79634c}.nav-item:hover{background:#eaddc8;color:#57402a}
.nav-item.active{background:#e7d8bf;color:#533b23}.nav-item.active:before{background:#a48052}
.nav-item .badge{background:#9e784c;color:#fffdf7}.side-foot p{color:#947b5e}
.side-foot .user{border-top-color:#d9c8ae}.side-foot .avatar{background:#e3d0b2;color:#664a2d}
.preview-bar{background:#f5edde;border-color:#e5d8c2;color:#8e795e}.preview-bar b{color:#72583c}
.preview-tools select{background:#faf5ea;border-color:#e1d2b9;color:#725b3e}
.topbar{background:#fffcf4}.avatar{background:#eee0c8;color:#7c5d3a}
.pill{background:#f0e5d2;color:#8a6b44}.people-header{background:#f6eedf}
.household{box-shadow:0 3px 12px #8c714907}.search input,.toolbar select{background:#fffdf8}
.mobile-nav{background:#fffaf0}.mobile-nav button.active{color:#785632}

@media print{body{background:white}.sidebar,.preview-bar,.topbar,.page-head,.toolbar,.print-controls,.mobile-nav,#toast,.footer-note,.no-print,dialog{display:none!important}.workspace{margin:0}.content{padding:0;max-width:none}.print-layout{display:block}.print-preview{border:0;background:white;padding:0}.paper{box-shadow:none;max-width:none;padding:0}.paper-house{break-inside:avoid}.paper-foot{display:block}.paper h2{margin-top:0}@page{size:letter;margin:16mm}}
.import-body{max-width:100%;overflow-x:hidden}.import-steps{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;color:#8b7a68;font-size:12px}.import-steps span{padding:8px 12px;background:#f3ebde;border-radius:30px}.import-steps .active{background:#73583e;color:#fff}.import-drop{padding:24px;border:2px dashed #cbb99e;background:#fbf7ee;border-radius:16px;margin-bottom:20px}.import-drop>b{font-size:22px}.import-drop small{color:#756958}.import-mapping{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.import-record{border:1px solid #decfb9;background:#fffdf7;padding:18px;border-radius:16px;margin:20px 0}.import-record.skipped{opacity:.65}.import-record .error{margin:5px 0}.import-record .flex{justify-content:space-between;flex-wrap:wrap}.import-record blockquote{padding:12px;margin:12px 0;background:#f3ebde;overflow-wrap:anywhere}.import-mapping input,.import-mapping select{min-width:0;width:100%}.import-body textarea{width:100%}@media(max-width:580px){.import-mapping{grid-template-columns:1fr}.import-drop,.import-record{padding:14px}.import-steps{gap:6px;font-size:11px}}@supports(padding:env(safe-area-inset-top)){.topbar{padding-top:max(12px,env(safe-area-inset-top))}.mobile-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}}

/* Publicly discoverable demo mode, shared by web and native bundles. */
.demo-entry{border-top:1px solid #dfd2be;margin-top:25px;padding-top:22px}.demo-entry-button{display:block;padding:15px;border:1px solid #ac8d67;border-radius:10px;background:#f1e6d3;text-align:center;font-weight:700;color:#5e4228;text-decoration:none;margin:12px 0}.demo-entry-button:hover{background:#e8d7ba}.demo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fffaf0;border-bottom:1px solid #dfd0b9;padding:12px 35px;font-size:12px;color:#735a40}.demo-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.demo-actions a{padding:10px;min-height:44px;display:flex;align-items:center}.demo-intro{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:#f0e6d5;border:1px solid #dfd0b9;border-radius:16px;padding:23px;margin:8px 0 25px}.demo-intro p{font-size:13px;color:#79644f;margin:8px 0 0}.demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.demo-card{display:flex;flex-direction:column;align-items:flex-start}.demo-card h2{font-size:23px;margin:14px 0 10px}.demo-card p{font-size:13px;color:#79644f;flex:1;line-height:1.6}.demo-card button{white-space:normal;text-align:left;margin-top:12px;min-height:44px}.demo-step{font-size:12px;letter-spacing:1px;background:#eee0c8;color:#795a37;border-radius:30px;padding:7px 10px}@media(max-width:1100px){.demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.demo-toolbar{padding:10px 15px}.demo-grid,.demo-intro{grid-template-columns:1fr}.demo-intro{gap:18px}.demo-card button{width:100%}}@media print{.demo-toolbar,.demo-intro,.demo-grid{display:none!important}}

.demo-overview{margin:0 0 22px;background:#f0e6d5;border:1px solid #dfd0b9;border-radius:12px}.demo-overview summary{padding:16px 20px;cursor:pointer;font-size:13px;font-weight:600}.demo-overview summary span{display:block;font-size:11px;font-weight:400;color:#79644f;margin:5px 0 0 17px}.demo-overview .demo-intro{border:0;margin:0;padding-top:0}@media print{.demo-overview{display:none!important}}
.announcement-hero{background:#f1e7d8;border:1px solid #ded0bd;border-radius:22px;padding:28px;margin:20px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.announcement-hero h2{font-size:clamp(25px,4vw,36px);margin:8px 0}.announcement-hero p{color:#695e51}.announcement-channels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.announcement-channels>div{border:1px solid #dfd4c3;background:#fffdf8;border-radius:14px;padding:16px;display:grid;gap:5px}.announcement-channels span{font-size:12px;color:#6d6051}.announcement-badge{display:inline-block;padding:6px 10px;border-radius:8px;background:#eadcc4;color:#56432a;font-size:11px;letter-spacing:.1em;font-weight:800}.announcement-card{margin:18px 0;border-left:4px solid #b69c76}.announcement-card.urgent{border-left-color:#a64134}.announcement-card.urgent .announcement-badge{background:#f8e2dd;color:#87382d}.announcement-status{margin-top:20px;padding-top:16px;border-top:1px solid #e6ddcf}.announcement-status details{margin:12px 0}.announcement-person{display:grid;grid-template-columns:1fr auto;gap:6px;padding:12px 0;border-bottom:1px solid #eee5d8}.announcement-person small{grid-column:1/-1;color:#756753}.announcement-list .empty-state{padding:36px;border:1px dashed #d8c8af;border-radius:16px;text-align:center}#announcement-compose fieldset{margin:16px 0;border:1px solid #dfd4c3;border-radius:12px;padding:12px}#announcement-compose fieldset[hidden]{display:none}@media(max-width:650px){.announcement-hero{display:block;padding:20px}.announcement-hero .cloud-tools{margin-top:18px}.announcement-channels{grid-template-columns:1fr}.announcement-person{grid-template-columns:1fr}.announcement-hero .cloud-tools button{flex:1;min-height:44px}}
.announcement-hero .cloud-tools{display:flex;gap:10px;flex-wrap:wrap}.announcement-card{background:#fffdf8;border-radius:16px;padding:24px}.announcement-card .cloud-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.announcement-card h3{margin:12px 0;font-size:23px}.announcement-card p{line-height:1.7}.announcement-card button{min-height:44px}.announcement-card .small{font-size:12px}
.announcement-incoming{display:block;width:100%;background:#f1dfc0;color:#503b20;border:1px solid #c3a16d;border-radius:12px;padding:14px;margin-bottom:18px;font-weight:700}.announcement-incoming[hidden]{display:none}
/* Safe areas follow the current window; no stored device height or fixed top spacer. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
html,body{min-height:100%;width:100%}html[data-platform] body{min-height:100dvh}html[data-platform] .account-wrap{padding-top:calc(22px + var(--safe-top));padding-left:max(16px,var(--safe-left));padding-right:max(16px,var(--safe-right));padding-bottom:calc(24px + var(--safe-bottom))}html[data-platform] .account-panel{margin:18px auto}html[data-platform] .account-brand{margin-bottom:24px}html[data-platform] .preview-bar{padding-top:calc(8px + var(--safe-top))}html[data-platform] .topbar{padding-top:0}html[data-platform] .sidebar{padding-top:calc(32px + var(--safe-top));overflow-y:auto}html[data-platform] .mobile-nav{padding-bottom:max(8px,var(--safe-bottom))}html[data-platform] .content{padding-left:max(20px,var(--safe-left));padding-right:max(20px,var(--safe-right))}.app-inactive body>main,.app-inactive #app,.app-inactive dialog{visibility:hidden}
.account-wrap button{white-space:normal;min-height:44px}.account-wrap input,.account-wrap select,.account-wrap textarea,dialog input,dialog select,dialog textarea{font-size:16px}dialog{max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px);max-width:calc(100vw - var(--safe-left) - var(--safe-right) - 24px);overscroll-behavior:contain}.modal-body{overflow-wrap:anywhere}.cloud-tools{align-items:stretch}.cloud-tabs{overflow-x:auto;scrollbar-width:thin}.cloud-head h1{overflow-wrap:anywhere}.cloud-member a{display:inline-block;max-width:100%;overflow-wrap:anywhere}@media(max-width:600px){.account-wrap .cloud-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.account-wrap .cloud-head>div{max-width:100%}.account-wrap .cloud-tabs{flex-wrap:nowrap;padding-bottom:8px;scroll-snap-type:x proximity}.account-wrap .cloud-tabs button{flex:0 0 auto;max-width:185px;scroll-snap-align:start}.account-wrap h1{font-size:29px}.account-wrap .cloud-contact{padding:18px}.account-wrap .cloud-grid{grid-template-columns:1fr}}@media(min-width:768px){.account-wrap .account-panel{max-width:520px}.account-wrap .cloud-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.account-tools{position:relative;border:1px solid var(--line);background:#fffdf7;border-radius:12px;min-width:230px}.account-tools>summary{padding:12px 16px;font-weight:700;cursor:pointer;min-height:44px}.account-tools>.cloud-tools{padding:14px;max-width:560px}.account-tools[open]{width:100%}.build-details{margin:14px 0}.build-details summary{cursor:pointer;font-weight:600}.build-details p{margin:12px 0 0}@media(max-width:600px){.account-tools{width:100%;min-width:0}.account-wrap .account-tools .cloud-tools{padding:10px}.account-wrap .cloud-head{margin-bottom:16px}}

.app-update-panel{margin:24px auto 95px;max-width:760px;padding:16px 22px;background:#f0e6d5;border:1px solid #dfd2be;border-radius:12px;font-size:13px;line-height:1.6}.app-update-panel summary{cursor:pointer;font-weight:700}.app-update-panel button{min-height:44px}

/* Bulk household assignments: families remain a single selectable unit. */
dialog:has(.assignment-ui){width:920px}
.assignment-controls{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin:20px 0}
.assignment-controls .field{margin:0;min-width:0}
.assignment-selection,.assignment-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0}
.assignment-selection>span{font-size:13px;color:var(--muted)}.assignment-selection>div{display:flex;gap:8px;flex-wrap:wrap}
.assignment-rows{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.assignment-row{display:grid;grid-template-columns:22px 1fr minmax(100px,30%);align-items:center;gap:12px;padding:16px;background:#fffdf7;cursor:pointer;border-bottom:1px solid var(--line)}
.assignment-row:last-child,.assignment-review-row:last-child{border-bottom:0}.assignment-row:has(input:checked){background:#f2e8d8}
.assignment-row input{margin:0;width:19px;height:19px}.assignment-row small,.assignment-review-row small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.assignment-current{font-size:12px;color:#79634c;text-align:right;overflow-wrap:anywhere}.assignment-empty{padding:24px;margin:0;color:var(--muted)}
.assignment-destination{padding-top:8px}.assignment-footer{padding-top:16px;border-top:1px solid var(--line)}
.assignment-review-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:18px;padding:16px;border-bottom:1px solid var(--line);font-size:14px;overflow-wrap:anywhere}
.assignment-review-row small{margin:0 0 5px;text-transform:uppercase;font-size:10px;letter-spacing:.5px}
@media(max-width:600px){.assignment-controls{grid-template-columns:1fr}.assignment-row{grid-template-columns:22px 1fr;gap:10px}.assignment-current{grid-column:2;text-align:left}.assignment-review-row{grid-template-columns:1fr 1fr;gap:12px}.assignment-review-row>b{grid-column:1/-1}.assignment-selection>div{width:100%}.assignment-selection button{flex:1}.assignment-footer button{flex:1;white-space:normal}}

.assignment-ui [hidden]{display:none!important}

/* Individual emergency check-ins */
.checkin-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:18px 0}.checkin-count{padding:15px;border:1px solid #dfd2be;border-radius:12px;background:#fffdf7;display:flex;flex-direction:column;gap:5px}.checkin-count b{font-size:26px}.checkin-count span{font-size:13px}.checkin-count.unreached,.checkin-count.needsHelp{background:#fff1df;border-color:#a66a32}.checkin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:18px}.checkin-household{padding:20px;background:#fffdf7;border:1px solid #dfd2be;border-radius:16px;min-width:0;overflow-wrap:anywhere}.checkin-household[hidden]{display:none!important}.checkin-family-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.checkin-family-head h3{margin:0}.checkin-label{font-size:13px;padding:6px 9px;border-radius:6px;background:#eee7da}.checkin-label.safe{background:#e3efe6;color:#254d30}.checkin-label.help{background:#fae3db;color:#742d1b}.checkin-missing{padding:12px;border-left:4px solid #a66a32;background:#fff1df;color:#593614}.checkin-person-list{list-style:none;margin:16px 0;padding:0}.checkin-person-list li{display:flex;gap:12px;justify-content:space-between;padding:13px 0;border-top:1px solid #e5dbcc}.checkin-person-list li>div{min-width:0}.checkin-person-list li>span{max-width:46%;font-size:13px;text-align:right}.checkin-person-list small{display:block;color:#655d54;font-size:11px;margin-top:5px}.checkin-person-list .missing>span,.checkin-person-list .help>span{font-weight:700;color:#7b341d}.checkin-toolbar{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:18px 0}.checkin-toolbar .field{min-width:min(100%,230px);flex:1}.checkin-form-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}.checkin-form-people .field{padding:14px;background:#f5f0e6;border-radius:10px}.checkin-form-people select{min-height:46px;font-size:15px}.checkin-note{white-space:pre-wrap}.checkin-household>button{min-height:44px;margin-top:8px}@media(max-width:500px){.checkin-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.checkin-household{padding:16px}.checkin-person-list li{flex-direction:column;gap:5px}.checkin-person-list li>span{max-width:100%;text-align:left}.checkin-toolbar{align-items:stretch}}
