:root{font-synthesis:none;--app-bg:#f4f5f6;--surface:#fff;--surface-raised:#fbfcfc;--text:#1d242a;--text-secondary:#68737c;--text-muted:#929ba2;--border:#e4e8ea;--shadow:0 8px 24px #1b252b0a;--positive:#23935a;--negative:#d34f55;--rank-1:#22a964;--rank-2:#77a82d;--rank-3:#c69416;--rank-4:#dc792a;--rank-5:#d85a5c;--radius-xl:20px;--radius-card:18px;--radius-control:15px;--space:16px;color:var(--text);background:#e9edef;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,sans-serif}:root[data-theme=dark]{--app-bg:#151a1e;--surface:#1d2429;--surface-raised:#222b31;--text:#e8ecee;--text-secondary:#b4bec4;--text-muted:#7e8990;--border:#303a40;--shadow:0 8px 24px #0003;--positive:#51b97f;--negative:#e16d71;--rank-1:#5dc987;--rank-2:#a3c75f;--rank-3:#d7b451;--rank-4:#e79755;--rank-5:#e47b7e}@media (prefers-color-scheme:dark){:root[data-theme=system]{--app-bg:#151a1e;--surface:#1d2429;--surface-raised:#222b31;--text:#e8ecee;--text-secondary:#b4bec4;--text-muted:#7e8990;--border:#303a40;--shadow:0 8px 24px #0003;--positive:#51b97f;--negative:#e16d71;--rank-1:#5dc987;--rank-2:#a3c75f;--rank-3:#d7b451;--rank-4:#e79755;--rank-5:#e47b7e}}*{box-sizing:border-box}body{background:inherit;min-width:360px;margin:0}button,input,select,textarea{font:inherit}button{min-width:44px;min-height:44px;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}button:active,a:active{transform:scale(.97)}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}small{color:var(--text-secondary);font-size:12px;font-weight:500;display:block}.phone{max-width:820px;min-height:100dvh;padding-bottom:calc(100px + env(safe-area-inset-bottom));background:var(--app-bg);margin:auto;position:relative;box-shadow:0 0 45px #17212918}.page{min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) var(--space) 28px}.page>header,.modal>header,.sheet>header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.page h1{letter-spacing:-1px;font-size:31px;font-weight:700;line-height:1.1}.page header>a,.page header>button,.modal header button,.sheet header button{border:1px solid var(--border);background:var(--surface-raised);border-radius:14px;place-items:center;display:grid}.summary{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:18px;display:grid;overflow:hidden}.summary b{place-items:center;gap:2px;padding:12px 8px;font-size:19px;font-weight:700;display:grid}.summary b+b{border-left:1px solid var(--border)}.summary small{font-size:12px}.good{color:var(--positive)!important}.bad{color:var(--negative)!important}.chips,.tiny-chips{scrollbar-width:none;gap:8px;margin:0 -16px 14px;padding:0 16px 3px;display:flex;overflow-x:auto}.chips button,.tiny-chips button,.theme-options button{border:1px solid var(--border);background:var(--surface);white-space:nowrap;min-height:38px;color:var(--text-secondary);border-radius:999px;padding:0 14px;font-size:13px;font-weight:600}.chips .selected,.tiny-chips .selected,.theme-options .selected,.value-buttons .selected{border-color:var(--text);background:var(--text);color:var(--surface)}.search{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);height:50px;box-shadow:var(--shadow);align-items:center;gap:9px;margin-bottom:14px;padding:0 14px;display:flex}.search svg{width:18px;color:var(--text-muted)}.search input{min-height:0;color:var(--text);background:0 0;border:0;outline:0;padding:0;font-size:15px}.search input::placeholder{color:var(--text-muted)}.cards{gap:10px;display:grid}.person-card{--rank:var(--rank-1);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);position:relative;overflow:hidden}.person-card:before{background:var(--rank);content:"";border-radius:0 0 4px 4px;height:3px;position:absolute;top:0;left:16px;right:16px}.person-main{align-items:center;gap:10px;min-width:0;padding:14px 13px 7px;display:flex}.place{background:color-mix(in srgb,var(--rank) 13%,transparent);width:28px;height:28px;color:var(--rank);border-radius:9px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.avatar{object-fit:cover;color:#3b5354;background:#dce5e4;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.avatar.sm{width:52px;height:52px;font-size:15px}.avatar.lg{width:82px;height:82px;font-size:26px}.person-copy{flex:1;gap:3px;min-width:0;display:grid}.person-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:650;line-height:20px;overflow:hidden}.person-copy small{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.rating{color:var(--rank);flex:none;font-size:19px;font-weight:700}.quick{align-items:center;gap:7px;padding:1px 12px 12px 13px;display:flex}.quick>span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.quick button{border:1px solid var(--border);background:var(--surface-raised);border-radius:13px;place-items:center;min-width:44px;min-height:44px;font-size:19px;font-weight:600;display:grid}.quick button:first-of-type{color:var(--positive)}.quick button:last-child{color:var(--negative)}.fab{right:max(16px,50vw - 394px);bottom:calc(78px + env(safe-area-inset-bottom));z-index:3;background:var(--text);width:54px;min-width:54px;height:54px;min-height:54px;color:var(--surface);border-radius:18px;place-items:center;display:grid;position:fixed;box-shadow:0 8px 20px #18232d33}.fab svg{width:23px}.empty{color:var(--text-secondary);text-align:center;place-items:center;gap:8px;padding:48px 16px;display:grid}.empty svg{width:35px;height:35px}.profile,.chart,.analytics-card,.settings-section,.action{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.profile{border-radius:var(--radius-card);align-items:center;gap:13px;margin-bottom:12px;padding:15px;display:flex}.profile h2{font-size:20px}.profile>button{background:var(--surface-raised);border-radius:12px;margin-left:auto}.stat-grid,.metric-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;display:grid}.stat-grid b,.metric-grid b{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:12px 10px;font-size:18px}.stat-grid b small,.metric-grid b small{margin-top:3px}.chart,.analytics-card,.settings-section{border-radius:var(--radius-card);margin:12px 0;padding:15px}.chart h3,.analytics-card h3,.settings-section h3{margin-bottom:12px;font-size:15px}.chart svg{width:100%;height:110px;overflow:visible}.chart polyline{fill:none;stroke:var(--positive);stroke-width:2px}.two-actions{grid-template-columns:1fr 1fr;gap:9px;margin:14px 0;display:grid}.two-actions button{border:1px solid var(--border);background:var(--surface);color:var(--positive);border-radius:14px;font-size:13px;font-weight:650}.two-actions button:last-child{color:var(--negative)}.section-title{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.section-title .tiny-chips{margin:0}.section-title .tiny-chips button{min-height:32px;padding:0 9px}.action-list{gap:8px;margin-top:10px;display:grid}.action{border-radius:14px;align-items:flex-start;gap:11px;padding:12px;display:flex}.action>div{flex:1;min-width:0}.action strong{font-size:14px}.action p{overflow-wrap:anywhere;margin:4px 0;font-size:13px}.action button{background:var(--surface-raised);border-radius:10px;min-width:36px;min-height:36px}.action button svg{width:16px}.filters{gap:8px;display:grid}.filters select{width:100%}.bars{align-items:end;gap:13px;height:120px;padding:8px;display:flex}.bars span{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:5px;height:100%;display:flex}.bars i{background:var(--positive);border-radius:5px 5px 2px 2px;width:100%;max-width:20px}.settings-section{gap:5px;display:grid}.settings-section button:not(.selected){justify-content:flex-start;align-items:center;gap:9px;padding:0 5px;font-weight:600;display:flex}.theme-options{gap:8px;display:flex}.modal-backdrop,.sheet-backdrop{z-index:5;background:#10182077;align-items:end;display:flex;position:fixed;inset:0}.modal,.sheet{background:var(--surface);width:min(100%,820px);max-height:100dvh;padding:14px 16px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;overflow:auto}.modal>header{z-index:1;background:var(--surface);margin:0 -16px 10px;padding:14px 16px 10px;position:sticky;top:-14px}.modal h2,.sheet h2{font-size:19px}.sheet .handle{background:var(--border);border-radius:4px;width:38px;height:4px;margin:0 auto 13px}.sheet-backdrop{padding:0}.sheet label,.modal label,.login label{color:var(--text);gap:7px;margin:13px 0;font-size:13px;font-weight:600;display:grid}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-raised);width:100%;min-height:50px;color:var(--text);outline-color:var(--text-secondary);padding:12px 13px}textarea{resize:vertical;min-height:90px}.primary{border-radius:var(--radius-control);background:var(--text);width:100%;min-height:52px;color:var(--surface);margin-top:7px;font-weight:650}.value-buttons{gap:8px;display:flex}.value-buttons button{border:1px solid var(--border);background:var(--surface-raised);border-radius:13px;flex:1;font-weight:650}.warning,.error{color:var(--negative);margin-top:8px;font-size:13px}.add-line{gap:8px;margin:10px 0;display:flex}.add-line button{background:var(--text);color:var(--surface);border-radius:12px}.manage-list{gap:7px;display:grid}.manage-list>div{background:var(--surface-raised);border-radius:12px;align-items:center;gap:4px;padding:8px;display:flex}.manage-list span{flex:1;font-size:13px;font-weight:650;display:block}.manage-list span small{font-size:10px}.manage-list button{min-width:34px;min-height:34px}.manage-list button svg{width:16px}.danger-row,.photo-remove{color:var(--negative)!important}.photo-control{align-items:center;gap:14px;margin:4px 0 18px;display:flex}.photo-control>img,.photo-control>span{object-fit:cover;color:#3b5354;background:#dce5e4;border-radius:50%;place-items:center;width:72px;height:72px;font-size:20px;font-weight:700;display:grid}.photo-control>div{gap:4px;display:grid}.photo-control strong{font-size:15px}.photo-upload{align-items:center;min-height:36px!important;color:var(--text-secondary)!important;margin:0!important;font-size:13px!important;display:inline-flex!important}.photo-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.photo-remove{align-items:center;gap:4px;min-height:32px!important;padding:0!important;font-size:13px!important;display:flex!important}.photo-remove svg{width:14px}.form-save{bottom:calc(-20px - env(safe-area-inset-bottom));padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);margin:18px -16px -20px;position:sticky}.login{background:var(--app-bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{border:1px solid var(--border);background:var(--surface);width:min(100%,390px);box-shadow:var(--shadow);text-align:center;border-radius:24px;padding:28px}.login-card h1{font-size:30px}.login-card>p{color:var(--text-secondary);margin:5px 0 22px}.brand-mark{background:var(--text);width:55px;height:55px;color:var(--surface);border-radius:18px;place-items:center;margin:auto auto 14px;font-size:26px;font-weight:700;display:grid}.password{display:flex;position:relative}.password input{padding-right:48px}.password button{background:0 0;min-width:44px;position:absolute;top:3px;right:3px}.password svg{width:18px}.login small{margin-top:17px}.sr{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}nav{z-index:2;width:min(100%,820px);padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}nav a{color:var(--text-muted);justify-items:center;gap:2px;padding:3px 0;font-size:11px;font-weight:600;display:grid}nav svg{width:23px;height:23px}@media (width>=821px){.phone{border-radius:28px;min-height:calc(100dvh - 32px);margin:16px auto;overflow:hidden}.page{min-height:calc(100dvh - 32px)}.fab{bottom:94px}.login{min-height:100dvh}}@media (width<=374px){.person-main{gap:8px;padding-right:10px}.place{width:25px}.avatar.sm{width:50px;height:50px}.rating{font-size:17px}.quick{padding-left:10px}}.person-card .quick{padding-right:76px}input,select,textarea{font-size:16px!important}.chips button{justify-content:center;align-items:center;display:inline-flex}.modal{padding-top:0}.modal>header{border-radius:22px 22px 0 0;min-height:76px;margin:0 -16px 10px;padding:22px 16px 10px;top:0;transform:translateY(-12px)}.modal>header>button{align-self:center}.person-form select{width:100%;height:50px;min-height:50px;display:block}:root[data-theme=dark] select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=system] select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.sheet .label{margin:0 0 10px}.sheet.positive .value-buttons button:last-child.selected{color:#e9f6ee;background:#285841;border-color:#39795f}.modal .primary+.danger-row{margin-top:10px}.modal .danger-row{justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.action--editable,.person-action-list article{cursor:pointer}.add-line button{flex:0 0 50px;place-items:center;width:50px;min-width:50px;height:50px;min-height:50px;padding:0;display:grid}.action-details{gap:14px;display:grid}.action-details-person{text-align:left;align-items:center;gap:10px;min-width:0;display:flex}.action-details-score{background:color-mix(in srgb,var(--positive) 14%,transparent);width:48px;height:48px;color:var(--positive);border-radius:14px;place-items:center;font-size:19px;font-weight:700;display:grid}.action-details.negative .action-details-score{background:color-mix(in srgb,var(--negative) 14%,transparent);color:var(--negative)}.action-details section{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-raised);gap:5px;padding:14px;display:grid}.action-details section p{white-space:pre-wrap;overflow-wrap:anywhere}.sheet .handle{cursor:grab;touch-action:none}.sheet .handle:active{cursor:grabbing}.modal,.sheet{will-change:transform}.modal>header{touch-action:none}.person-hero-photo{background:var(--surface-2,var(--surface));width:125px;min-width:125px;height:140px;box-shadow:0 8px 18px color-mix(in srgb,var(--text) 10%,transparent);border-radius:18px;flex:0 0 125px;position:relative;overflow:hidden}.person-hero-photo .avatar.lg{border-radius:inherit;object-fit:cover;opacity:1;filter:none;width:100%;min-width:0;height:100%;font-size:34px}.person-hero-photo:after{pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 72%,var(--surface)),inset 0 0 18px 6px color-mix(in srgb,var(--surface-2,var(--surface)) 42%,transparent);content:"";position:absolute;inset:0}.person-hero h2{white-space:normal;gap:2px;display:grid}.person-page .section-title .segmented.compact{flex:0 0 240px;grid-template-columns:repeat(3,minmax(0,1fr))}.person-page .section-title .segmented.compact button{text-align:center;justify-content:center;align-items:center;padding:0;display:flex}.phone{height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}.page{overscroll-behavior-y:contain;height:100%;min-height:0;padding-bottom:calc(100px + env(safe-area-inset-bottom));scrollbar-width:none;-ms-overflow-style:none;overflow-y:auto}.page::-webkit-scrollbar{display:none}.select-control{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-raised);width:100%;min-width:0;max-width:100%;min-height:50px;color:var(--text);text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:0 13px;font-weight:600;display:flex}.select-control:active{transform:none}nav a{-webkit-tap-highlight-color:transparent;transition:background-color .16s,color .16s}nav a:active{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--positive) 16%,transparent) 0%,transparent 72%);border-radius:50%;transform:none}.select-control span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.select-control svg{width:18px;color:var(--text-secondary);flex:none}.select-popover-backdrop{z-index:8;background:#10182052;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.select-popover{box-sizing:border-box;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-raised) 92%,transparent);-webkit-backdrop-filter:blur(20px);border-radius:24px;width:430px;max-width:calc(100vw - 48px);max-height:min(70dvh,520px);padding:8px;overflow:auto;box-shadow:0 16px 42px #00000047}.select-popover button{width:100%;min-height:52px;color:var(--text);text-align:left;border-radius:16px;align-items:center;gap:11px;padding:0 14px;font-size:17px;display:flex}.select-popover button.selected{background:color-mix(in srgb,var(--positive) 18%,transparent)}.select-popover button span{width:20px;color:var(--positive);place-items:center;font-size:21px;display:grid}@media (width>=821px){.phone{height:calc(100dvh - 32px);min-height:0}.page{height:100%;min-height:0}.person-card .quick{padding-right:12px}}html,body{background:var(--surface-0,var(--app-bg))}.group-options{color:var(--text);gap:7px;margin:13px 0;font-size:13px;font-weight:600;display:grid}.group-options>div{flex-wrap:wrap;gap:8px;display:flex}.group-options label{border:1px solid var(--border);background:var(--surface-raised);border-radius:12px;align-items:center;gap:7px;padding:9px 11px;font-weight:600;display:flex;margin:0!important}.group-options input[type=checkbox]{appearance:none;border-radius:50%;min-width:20px;margin:0;display:block;border:1px solid var(--border)!important;background:var(--surface)!important;width:20px!important;height:20px!important;min-height:20px!important;box-shadow:none!important;padding:0!important}.group-options input[type=checkbox]:checked{border-color:var(--positive)!important;background-color:var(--positive)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2'/%3E%3C/svg%3E")!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:13px!important}.photo-control>span svg{width:28px;height:28px}.photo-upload{gap:5px}.photo-upload svg{width:16px;height:16px}@media (width>=821px) and (pointer:coarse){.phone{border-radius:0;max-width:none;height:100dvh;margin:0}.page{min-height:100dvh}nav{width:100%}.fab{right:16px}.modal-backdrop,.sheet-backdrop{justify-content:center;align-items:center;padding:24px}.modal,.sheet{border-radius:22px;width:min(100%,560px);max-height:calc(100dvh - 48px)}.modal>header{transform:none}}.chips{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto}.chips button{flex:none;width:max-content}.person-card:before{width:30px;left:14px;right:auto}.avatar.sm{width:48px;height:48px}.person-main{padding:12px 12px 4px}.quick{padding-top:0;padding-bottom:9px}.quick button{min-width:42px;min-height:42px}.fab{color:#fff;background:#176c4b;box-shadow:0 8px 20px #071f173d}.chips .selected{color:#e9f6ee;background:#285841;border-color:#39795f}nav a.active{color:var(--positive)}.history-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex:1;grid-template-columns:repeat(3,1fr);padding:3px;display:grid}.segmented button{min-width:0;min-height:38px;color:var(--text-secondary);border-radius:10px;font-size:13px;font-weight:650}.segmented .selected{color:#e9f6ee;background:#285841}.filter-button{border:1px solid var(--border);background:var(--surface);border-radius:14px;justify-content:center;align-items:center;gap:6px;min-width:104px;min-height:44px;font-size:13px;font-weight:650;display:flex}.filter-button svg{width:17px}.active-filters{gap:7px;margin-bottom:14px;display:flex;overflow:auto}.active-filters button{border:1px solid var(--border);background:var(--surface-raised);min-width:0;min-height:33px;color:var(--text-secondary);border-radius:99px;align-items:center;gap:5px;padding:0 9px;font-size:12px;display:flex}.active-filters svg{width:13px}.active-filters .clear-filter{color:var(--positive);background:0 0;border-color:#0000}.history-groups{gap:18px;display:grid}.history-group{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.history-group>h3{color:var(--text-secondary);padding:12px 14px 9px;font-size:13px;font-weight:650}.history-group .action-list{gap:0;margin:0}.history-group .action{border:0;border-top:1px solid var(--border);box-shadow:none;border-radius:0;gap:10px;padding:11px 14px;position:relative}.history-group .avatar.sm{width:42px;height:42px;font-size:13px}.action-person{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;display:block;overflow:hidden}.history-group .action small,.history-group time{color:var(--text-secondary);font-size:12px}.history-group .action p{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0;font-size:13px;line-height:18px;display:-webkit-box;overflow:hidden}.action-value{background:color-mix(in srgb,currentColor 12%,transparent);text-align:center;border-radius:9px;align-self:flex-start;min-width:34px;padding:5px 7px;font-size:13px}.history-group .action button{min-width:34px;min-height:34px;color:var(--text-muted);background:0 0;margin-left:-3px}.ratio-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);margin-bottom:12px;padding:14px}.ratio-card>div:first-child{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.ratio-card strong{font-size:14px}.ratio-card span{color:var(--text-secondary);text-align:right;font-size:12px}.ratio-bar{background:color-mix(in srgb,var(--negative) 30%,var(--surface-raised));border-radius:99px;height:7px;overflow:hidden}.ratio-bar i{background:var(--positive);border-radius:99px;height:100%;display:block}.bars{border-bottom:1px solid var(--border);gap:10px;height:138px;padding:10px 2px 0;position:relative}.bars span{gap:7px}.bars i{background:#47856b;max-width:28px}.bars small{font-size:11px}.criterion-card{gap:16px;display:grid}.criterion-card h3{margin:0}.criterion-stats{gap:8px;display:grid}.criterion-stats h4{color:var(--text-secondary);margin:0;font-size:12px;font-weight:650}.criterion-row{grid-template-columns:1fr auto;align-items:center;gap:5px 10px;font-size:13px;display:grid}.criterion-row>b{font-size:12px}.criterion-row>i{background:var(--surface-raised);border-radius:99px;grid-column:1/-1;height:4px;overflow:hidden}.criterion-row em{background:var(--positive);border-radius:99px;height:100%;display:block}.criterion-stats.negative .criterion-row em{background:var(--negative)}.criterion-stats p{color:var(--text-secondary);font-size:13px}.trend-row{align-items:center;gap:10px;padding:10px 0;display:flex}.trend-row+.trend-row{border-top:1px solid var(--border)}.trend-row .avatar{width:40px;height:40px;font-size:13px}.trend-row span{flex:1;gap:2px;display:grid}.trend-row strong{font-size:14px}.trend-row b{font-size:15px}.settings-section{box-shadow:none}.settings-block{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);margin:0 0 13px;overflow:hidden}.settings-block>h3{color:var(--text-secondary);padding:12px 14px 6px;font-size:12px;font-weight:650}.settings-row{border-top:1px solid var(--border);text-align:left;align-items:center;gap:11px;width:100%;min-height:58px;padding:8px 14px!important;display:flex!important}.settings-block>h3+.settings-row{border-top:0}.settings-row>span:nth-child(2){flex:1;gap:2px;display:grid}.settings-row strong{font-size:14px;font-weight:650}.settings-row small{font-size:12px}.settings-row>svg{width:17px;color:var(--text-muted)}.settings-icon{background:var(--surface-raised);width:32px;height:32px;color:var(--positive);border-radius:10px;place-items:center;display:grid}.settings-icon svg{width:17px}.settings-row.destructive .settings-icon,.settings-row.destructive strong,.settings-row.destructive>svg{color:var(--negative)}.theme-section{gap:10px;margin-top:0;padding:13px 14px}.theme-section h3{margin:0}.theme-options{border:1px solid var(--border);background:var(--surface-raised);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;display:grid}.theme-options button{background:0 0;border:0;min-width:0;min-height:36px;padding:0 6px;font-size:12px}.theme-options .selected{color:#e9f6ee;background:#285841}.account-block{margin-bottom:0}.settings-footer{color:var(--text-muted);text-align:center;padding:13px 4px 0;font-size:12px}.modal,.sheet{border:1px solid var(--border);box-shadow:0 -12px 36px #0002}.modal>header,.sheet>header{border-bottom:1px solid var(--border);padding-bottom:10px}.modal>header{margin-bottom:5px}.sheet .handle{background:var(--text-muted)}.sheet .value-buttons .selected{color:#e9f6ee;background:#285841;border-color:#39795f}.sheet .value-buttons button:last-child.selected{color:#ffeef0;background:#692f35;border-color:#874a50}.manage-list>div{border-bottom:1px solid var(--border);background:0 0;border-radius:0;min-height:48px}.manage-list>div:last-child{border-bottom:0}.manage-list button{color:var(--text-secondary)}.manage-list button:last-child{color:var(--negative)}@media (width<=374px){.filter-button{min-width:44px;padding:0;font-size:0}.filter-button svg{width:18px}.person-card .quick{padding-right:76px}}@media (width>=821px){.person-card .quick{padding-right:12px}.history-toolbar{max-width:620px}.modal{width:min(100%,520px)}}.cards{padding-bottom:calc(132px + env(safe-area-inset-bottom))}.trend-row .avatar{border-radius:50%;flex:0 0 42px;width:42px;min-width:42px;height:42px}.person-page{padding-bottom:calc(120px + env(safe-area-inset-bottom))}.person-header{grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:16px!important;display:grid!important}.person-header h1{text-align:center;letter-spacing:0;font-size:18px!important}.person-header button{place-items:center;display:grid}.person-hero{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);align-items:center;gap:13px;padding:16px;display:flex}.person-hero .avatar{flex:0 0 74px;width:74px;min-width:74px;height:74px}.person-hero>div{flex:1;min-width:0}.person-hero h2{text-overflow:ellipsis;white-space:nowrap;font-size:21px;overflow:hidden}.person-hero p,.person-chart p,.person-delete p{color:var(--text-secondary);margin-top:4px;font-size:12px}.person-hero>b{color:var(--positive);font-size:20px}.person-metrics{grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0;display:grid}.person-metrics>div{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;gap:5px;padding:12px 9px;display:grid}.person-metrics b{font-size:16px}.person-metrics span{color:var(--text-secondary);font-size:11px;line-height:14px}.person-metrics small{margin-top:3px;font-size:10px;line-height:12px}.person-chart{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);margin:12px 0;padding:15px}.person-chart h3{font-size:17px}.rating-graph{height:180px;margin-top:10px;position:relative}.rating-graph>b{color:var(--positive);font-size:15px;position:absolute;top:0;right:0}.rating-graph svg{width:100%;height:145px}.rating-graph polyline{fill:none;stroke:var(--positive);stroke-width:2.2px}.rating-graph circle{fill:var(--surface);stroke:var(--positive);stroke-width:1.7px}.rating-graph .zero{stroke:var(--border);stroke-width:1px;stroke-dasharray:3 3}.rating-graph>div{justify-content:space-between;gap:8px;display:flex}.rating-graph small{font-size:10px}.chart-empty{height:150px;color:var(--text-secondary);place-items:center;font-size:13px;display:grid}.person-actions{grid-template-columns:1fr 1fr;gap:9px;margin:14px 0;display:grid}.person-actions button{border:1px solid var(--border);border-radius:14px;justify-content:center;align-items:center;gap:7px;min-height:50px;font-size:13px;font-weight:650;display:flex}.person-actions svg{width:18px}.person-actions .add-positive{color:var(--positive);background:color-mix(in srgb,var(--positive) 8%,var(--surface))}.person-actions .add-negative{color:var(--negative);background:color-mix(in srgb,var(--negative) 8%,var(--surface))}.section-title .segmented.compact{flex:0 0 155px;margin:0}.segmented.compact button{min-height:31px;font-size:11px}.person-action-list{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);margin-top:10px;overflow:hidden}.person-action-list article{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:12px;display:flex}.person-action-list article:last-child{border-bottom:0}.person-action-list article>div{flex:1;min-width:0}.person-action-list strong{font-size:14px}.person-action-list p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:3px 0;font-size:13px;line-height:18px;display:-webkit-box;overflow:hidden}.person-action-list time{color:var(--text-secondary);font-size:11px}.person-action-list b{background:var(--surface-raised);border-radius:9px;padding:5px 7px;font-size:13px}.person-action-list button{min-width:34px;min-height:34px;color:var(--text-muted)}.person-action-list button svg{width:16px}.person-delete{border:1px solid color-mix(in srgb,var(--negative) 25%,var(--border));border-radius:var(--radius-card);background:color-mix(in srgb,var(--negative) 5%,var(--surface));margin-top:22px;padding:14px}.person-delete button{min-width:0;min-height:38px;color:var(--negative);align-items:center;gap:7px;padding:0;font-size:14px;font-weight:650;display:flex}.person-delete svg{width:17px}@media (width<=374px){.person-hero h2{font-size:19px}.person-metrics>div{padding:10px 7px}.person-metrics b{font-size:15px}.person-metrics span{font-size:10px}.section-title .segmented.compact{flex-basis:145px}}.theme-options{box-sizing:border-box;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:0;height:44px;padding:3px;display:grid}.theme-section .theme-options button,.theme-section .theme-options button:not(.selected){box-sizing:border-box;border:0;border-radius:0;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;margin:0;padding:0;font-size:13px;font-weight:600;line-height:1;display:flex}.theme-options .selected{border-radius:17px}.theme-section .theme-options{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:0;height:44px;padding:3px;display:grid}.theme-section .theme-options button,.theme-section .theme-options button.selected{border-radius:0;grid-area:auto;width:100%;height:100%;margin:0;padding:0;position:static;inset:auto;transform:none}.theme-section .theme-options button.selected{border-radius:17px}@media (width<=374px){.theme-options,.theme-section .theme-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;height:82px}.theme-options .selected{border-radius:12px}}:root{--surface-0:#f4f5f6;--surface-1:#fff;--surface-2:#fff;--surface-3:#fff;--border-soft:#0f172a12;--border-medium:#0f172a1a;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 2px #0f172a0d,0 6px 16px #0f172a0b;--shadow-md:0 2px 4px #0f172a0d,0 10px 28px #0f172a13;--shadow-lg:0 6px 14px #0f172a14,0 22px 48px #0f172a24;--focus-ring:0 0 0 3px #22c55e1a}:root[data-theme=dark]{--surface-0:#101619;--surface-1:#171f23;--surface-2:#1b252a;--surface-3:#202b30;--border-soft:#ffffff0e;--border-medium:#ffffff16;--shadow-xs:0 1px 0 #ffffff06;--shadow-sm:inset 0 1px 0 #ffffff09,0 8px 18px #0000002e;--shadow-md:inset 0 1px 0 #ffffff0b,0 14px 32px #00000042;--shadow-lg:inset 0 1px 0 #ffffff0e,0 24px 56px #0000006b;--focus-ring:0 0 0 3px #51b97f1f}@media (prefers-color-scheme:dark){:root[data-theme=system]{--surface-0:#101619;--surface-1:#171f23;--surface-2:#1b252a;--surface-3:#202b30;--border-soft:#ffffff0e;--border-medium:#ffffff16;--shadow-xs:0 1px 0 #ffffff06;--shadow-sm:inset 0 1px 0 #ffffff09,0 8px 18px #0000002e;--shadow-md:inset 0 1px 0 #ffffff0b,0 14px 32px #00000042;--shadow-lg:inset 0 1px 0 #ffffff0e,0 24px 56px #0000006b;--focus-ring:0 0 0 3px #51b97f1f}}.phone{background:var(--surface-0);box-shadow:0 0 45px #0f172a14}.summary{background:var(--surface-2);border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.person-card,.history-group,.settings-block,.analytics-card,.person-metrics>div,.person-chart{background:var(--surface-1);border-color:var(--border-soft);box-shadow:var(--shadow-sm)}.person-hero{background:var(--surface-2);border-color:var(--border-medium);box-shadow:var(--shadow-md)}.search,input,select,textarea{background:var(--surface-2);border-color:var(--border-soft);box-shadow:var(--shadow-xs)}input:focus,select:focus,textarea:focus,.search:focus-within{border-color:color-mix(in srgb,var(--positive) 45%,var(--border-medium));box-shadow:var(--focus-ring),var(--shadow-xs)}.chips button,.tiny-chips button,.segmented,.theme-options{box-shadow:none}.chips .selected,.tiny-chips .selected,.segmented .selected,.theme-options .selected{box-shadow:var(--shadow-xs)}nav{background:var(--surface-2);border-color:var(--border-medium);box-shadow:0 -1px 0 var(--border-soft),0 -10px 28px #0f172a0f}.fab{box-shadow:var(--shadow-md)}:root[data-theme=dark] .fab{box-shadow:inset 0 1px #ffffff1f,0 8px 18px #0003,0 18px 38px #0000002e}.modal,.sheet{background:var(--surface-3);border-color:var(--border-medium);box-shadow:var(--shadow-lg)}.modal-backdrop,.sheet-backdrop{background:#0c14187a}:root[data-theme=dark] .modal-backdrop,:root[data-theme=dark] .sheet-backdrop{background:#04080aa8}.person-card,.fab,.summary,.person-hero,.person-metrics>div,.person-chart,.history-group,.settings-block,.analytics-card,.modal,.sheet,nav{transition:background-color .16s,border-color .16s,box-shadow .16s,transform .12s}.person-card:active{box-shadow:var(--shadow-xs);transform:translateY(1px)}@media (prefers-reduced-motion:reduce){.person-card,.fab,.summary,.person-hero,.person-metrics>div,.person-chart,.history-group,.settings-block,.analytics-card,.modal,.sheet,nav{transition:none}.person-card:active{transform:none}}.sheet.positive .value-buttons .selected{color:#e9f6ee;background:#285841;border-color:#39795f}.sheet.negative .value-buttons .selected{color:#ffeef0;background:#692f35;border-color:#874a50}.search input,.search input:focus{box-shadow:none;background:0 0;border:0;outline:0}.history-toolbar{align-items:stretch}.history-toolbar .filter-button{height:auto;min-height:0}:root[data-theme=blackout]{--app-bg:#000;--surface:#050505;--surface-raised:#090909;--text:#fff;--text-secondary:#ffffffad;--text-muted:#ffffff6b;--border:#ffffff24;--shadow:inset 0 1px 0 #ffffff06,0 12px 30px #000000a3;--positive:#d4af37;--negative:#fff;--surface-0:#000;--surface-1:#050505;--surface-2:#090909;--surface-3:#0d0d0d;--surface-elevated:#121212;--border-soft:#ffffff14;--border-medium:#ffffff24;--border-gold:#d4af3761;--focus-ring:0 0 0 3px #d4af372e;--gold:#d4af37;--gold-strong:#e0bd55;--gold-muted:#d4af3794;--gold-soft:#d4af3724;--accent:#d4af37;--accent-text:#000;--rank-1:#d4af37;--rank-2:#9f8329;--rank-3:#6a581c;--rank-4:#352c0e;--rank-5:#000}:root[data-theme=blackout],:root[data-theme=blackout] body,:root[data-theme=blackout] .phone,:root[data-theme=blackout] .login{background:#000}:root[data-theme=blackout] .summary,:root[data-theme=blackout] .person-card,:root[data-theme=blackout] .history-group,:root[data-theme=blackout] .settings-block,:root[data-theme=blackout] .analytics-card,:root[data-theme=blackout] .person-metrics>div,:root[data-theme=blackout] .person-chart{border-color:var(--border-soft);box-shadow:var(--shadow)}:root[data-theme=blackout] .person-hero,:root[data-theme=blackout] .modal,:root[data-theme=blackout] .sheet{border-color:var(--border-medium);box-shadow:inset 0 1px #ffffff06,0 14px 34px #000000b8}:root[data-theme=blackout] .avatar,:root[data-theme=blackout] .photo-control>img,:root[data-theme=blackout] .photo-control>span{color:#fff;background:#121212}:root[data-theme=blackout] input,:root[data-theme=blackout] select,:root[data-theme=blackout] textarea,:root[data-theme=blackout] .search{color:#fff;background:#090909;border-color:#ffffff24}:root[data-theme=blackout] input:focus,:root[data-theme=blackout] select:focus,:root[data-theme=blackout] textarea:focus,:root[data-theme=blackout] .search:focus-within{box-shadow:var(--focus-ring);border-color:#d4af3799}:root[data-theme=blackout] .error,:root[data-theme=blackout] .warning{color:#fff}:root[data-theme=blackout] .error:before,:root[data-theme=blackout] .warning:before{color:#000;content:"!";background:#d4af37;border-radius:50%;place-items:center;width:15px;height:15px;margin-right:6px;font-size:11px;font-weight:800;display:inline-grid}:root[data-theme=blackout] .chips button,:root[data-theme=blackout] .tiny-chips button,:root[data-theme=blackout] .segmented,:root[data-theme=blackout] .theme-options{border-color:var(--border-soft);color:var(--text-secondary);background:#090909}:root[data-theme=blackout] .chips .selected,:root[data-theme=blackout] .tiny-chips .selected,:root[data-theme=blackout] .segmented .selected,:root[data-theme=blackout] .theme-options .selected{color:#000;background:#d4af37;border-color:#d4af37}:root[data-theme=blackout] .primary,:root[data-theme=blackout] .fab{color:#000;background:#d4af37;box-shadow:inset 0 1px #ffffff3d,0 12px 30px #000000b8}:root[data-theme=blackout] .primary:disabled{color:#ffffff6b;box-shadow:none;background:#000;border:1px solid #ffffff24}:root[data-theme=blackout] nav{background:#050505;border-color:#ffffff1f;box-shadow:0 -10px 28px #000000a3}:root[data-theme=blackout] nav a.active,:root[data-theme=blackout] .settings-icon{color:#d4af37}:root[data-theme=blackout] .modal-backdrop,:root[data-theme=blackout] .sheet-backdrop{background:#000000d1}:root[data-theme=blackout] .sheet .handle{background:#fff}:root[data-theme=blackout] .login-card{border-color:var(--border-medium);box-shadow:var(--shadow);background:#090909}:root[data-theme=blackout] .brand-mark{color:#000;background:#d4af37}:root[data-theme=blackout] .group-options label,:root[data-theme=blackout] .group-options input[type=checkbox]{border-color:var(--border-soft)!important;background:#090909!important}:root[data-theme=blackout] .group-options input[type=checkbox]:checked{background-color:#d4af37!important;border-color:#d4af37!important}:root[data-theme=blackout] .select-control{color:#fff;background:#090909;border-color:#ffffff24}:root[data-theme=blackout] .select-popover-backdrop{background:#000000b8}:root[data-theme=blackout] .select-popover{background:#0d0d0df5;border-color:#ffffff24}:root[data-theme=blackout] .select-popover button.selected{background:#d4af3724}:root[data-theme=blackout] .select-popover button span{color:#d4af37}:root[data-theme=blackout] .quick button,:root[data-theme=blackout] .person-actions button{color:#fff;background:#000;border-color:#ffffff6b}:root[data-theme=blackout] .quick button:first-of-type,:root[data-theme=blackout] .person-actions .add-positive{color:#000;background:#d4af37;border-color:#d4af37}:root[data-theme=blackout] .quick button:last-child,:root[data-theme=blackout] .person-actions .add-negative{color:#fff;background:#000;border-color:#ffffff8f}:root[data-theme=blackout] .sheet.positive .value-buttons button{color:#fff;background:#000;border-color:#ffffff6b}:root[data-theme=blackout] .sheet.positive .value-buttons .selected{color:#000;background:#d4af37;border:2px solid #e0bd55;box-shadow:inset 0 1px #ffffff4d}:root[data-theme=blackout] .sheet.negative .value-buttons button{color:#fff;background:#000;border-color:#ffffff6b}:root[data-theme=blackout] .sheet.negative .value-buttons .selected{color:#fff;background:#000;border:2px solid #fff;box-shadow:inset 0 0 0 1px #ffffff42}:root[data-theme=blackout] .good{color:#d4af37!important}:root[data-theme=blackout] .bad{color:#fff!important}:root[data-theme=blackout] .action-value.good{color:#000!important;background:#d4af37!important}:root[data-theme=blackout] .action-value.bad{border:1px solid #ffffff8f;color:#fff!important;background:#000!important}:root[data-theme=blackout] .action-details-score{color:#000;background:#d4af37}:root[data-theme=blackout] .action-details.negative .action-details-score{color:#fff;background:#000;border:1px solid #ffffff8f}:root[data-theme=blackout] .danger-row,:root[data-theme=blackout] .photo-remove,:root[data-theme=blackout] .settings-row.destructive .settings-icon,:root[data-theme=blackout] .settings-row.destructive strong,:root[data-theme=blackout] .settings-row.destructive>svg{color:#fff!important}:root[data-theme=blackout] .danger-row{background:#000;border:1px solid #ffffff6b;border-radius:12px}:root[data-theme=blackout] .settings-row.destructive .settings-icon,:root[data-theme=blackout] .settings-row.destructive strong,:root[data-theme=blackout] .settings-row.destructive>svg{color:#e16d71!important}:root[data-theme=blackout] .person-card{--rank:var(--blackout-rank)!important}:root[data-theme=blackout] .person-card .place{background:var(--rank);color:#fff}:root[data-theme=blackout] .person-card .rating{opacity:1;color:#d4af37!important}:root[data-theme=blackout] .person-card[data-rank="1"] .place,:root[data-theme=blackout] .person-card[data-rank="2"] .place{color:#000}:root[data-theme=blackout] .person-card[data-rank="5"] .place{box-shadow:inset 0 0 0 1px #ffffff24}:root[data-theme=blackout] .ratio-bar{background:#000;border:1px solid #ffffff47}:root[data-theme=blackout] .ratio-bar i,:root[data-theme=blackout] .bars i,:root[data-theme=blackout] .criterion-stats.positive .criterion-row em{background:#d4af37}:root[data-theme=blackout] .criterion-stats.negative .criterion-row em{background:repeating-linear-gradient(90deg,#fff 0 4px,#000 4px 7px)}:root[data-theme=blackout] .rating-graph polyline,:root[data-theme=blackout] .chart polyline{stroke:#d4af37}:root[data-theme=blackout] .rating-graph circle{fill:#d4af37;stroke:#000}:root[data-theme=blackout] .rating-graph .zero{stroke:#ffffff6b}
