:root{font-family:Inter,Aptos,Segoe UI,sans-serif;color:#10213c;background:#eef2f8;font-synthesis:none;--ink: #10213c;--muted: #718099;--line: #dce3ee;--paper: #f7f9fd;--white: #ffffff;--blue: #1f5bff;--blue-dark: #1646cd;--lime: #c9f269;--coral: #ff7166;--shadow: 0 20px 60px rgba(28, 52, 91, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#eef2f8}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(31,91,255,.28);outline-offset:2px}.app-shell,.sheet-page,.detail-page,.success-page,.auth-page,.admin-page,.loading-page,.public-page{width:min(100%,560px);min-height:100vh;margin:0 auto;background:var(--paper);position:relative;box-shadow:0 0 80px #1c345b14}.page{padding:0 22px 120px}.topbar,.sheet-header,.detail-nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:env(safe-area-inset-top)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-family:Arial Rounded MT Bold,Segoe UI,sans-serif;font-weight:800;letter-spacing:-.04em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:11px 11px 11px 4px}.company-brand{display:inline-flex;align-items:center;gap:12px;min-width:0}.company-brand>img{width:48px;height:48px;object-fit:contain;padding:5px;background:#fff;border:1px solid var(--line);border-radius:14px 14px 14px 5px}.company-brand>span:last-child{min-width:0;display:grid;gap:2px}.company-brand strong{overflow:hidden;color:var(--ink);font-family:Arial Rounded MT Bold,Segoe UI,sans-serif;font-size:.96rem;letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap}.company-brand small{color:var(--muted);font-size:.65rem}.company-brand.compact>img{width:36px;height:36px;border-radius:11px 11px 11px 4px}.company-brand.compact>span:last-child small{display:none}.top-actions,.detail-actions{display:flex;gap:7px}.icon-button{border:0;background:#fff;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 16px #1c345b12}.eyebrow{margin:0;color:var(--blue);font-size:.68rem;line-height:1.2;font-weight:850;letter-spacing:.14em}.welcome{padding:28px 2px 24px}.welcome h1,.contacts-header h1,.profile-hero h1,.success-page h1{margin:10px 0 12px;font-family:Arial Rounded MT Bold,Segoe UI,sans-serif;font-size:clamp(2.65rem,13vw,4.5rem);line-height:.94;letter-spacing:-.065em}.welcome h1 span{color:var(--blue)}.welcome-copy{margin:0;color:var(--muted);line-height:1.55;font-size:.98rem;max-width:420px}.capture-portal{width:100%;min-height:170px;padding:23px 22px;position:relative;overflow:hidden;display:grid;grid-template-columns:86px 1fr 24px;align-items:center;gap:14px;text-align:left;border:0;border-radius:30px 30px 30px 10px;background:var(--blue);color:#fff;box-shadow:0 18px 38px #1f5bff45;cursor:pointer}.portal-core{position:relative;z-index:2;width:80px;height:80px;border:1px solid rgba(255,255,255,.52);border-radius:50%;display:grid;place-items:center;background:#ffffff1f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.portal-copy{position:relative;z-index:2;display:grid;gap:6px}.portal-copy strong{font-family:Arial Rounded MT Bold,Segoe UI,sans-serif;font-size:1.3rem;letter-spacing:-.035em}.portal-copy small{color:#ffffffbf;font-size:.78rem}.capture-portal>svg{position:relative;z-index:2}.portal-orbit{position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%}.orbit-one{width:190px;height:190px;left:-36px;top:-10px}.orbit-two{width:125px;height:125px;left:-3px;top:23px;border-color:#c9f2695c}.capture-portal:after{content:"";position:absolute;width:120px;height:120px;right:-40px;top:-35px;border-radius:50%;background:var(--lime);opacity:.9}.capture-portal:active{transform:scale(.99)}.today-strip{margin:18px 0 38px;padding:16px 18px;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px #1c345b0d}.today-strip span{display:grid;gap:1px}.today-strip strong{font-size:1.15rem}.today-strip small{color:var(--muted);font-size:.68rem}.today-strip i{width:1px;height:30px;background:var(--line)}.today-strip button,.section-heading button{margin-left:auto;border:0;background:none;padding:8px 0;color:var(--blue);font-size:.75rem;font-weight:750;cursor:pointer;display:flex;align-items:center}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.section-heading h2{margin:6px 0 0;font-size:1.25rem;letter-spacing:-.035em}.contact-list{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}.contact-row{width:100%;display:flex;align-items:center;gap:12px;padding:13px 14px;border:0;border-bottom:1px solid #edf0f5;background:#fff;text-align:left;cursor:pointer}.contact-row:last-child{border-bottom:0}.contact-row:hover{background:#fafbff}.avatar{flex:0 0 auto;width:46px;height:46px;border-radius:50%;object-fit:cover}.avatar-fallback{display:grid;place-items:center;color:var(--blue-dark);background:#e7edff;font-weight:850;font-size:.75rem}.contact-copy{display:grid;gap:4px;min-width:0}.contact-copy strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-copy small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.contact-date{margin-left:auto;color:var(--muted);font-size:.68rem}.contact-row>svg{color:#aab4c3;flex:0 0 auto}.empty-state{width:100%;min-height:156px;display:grid;place-items:center;align-content:center;gap:7px;border:1px dashed #c8d2e1;background:#ffffff8c;border-radius:22px;cursor:pointer}.empty-state span{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;color:var(--blue);background:#e8eeff}.empty-state small{color:var(--muted)}.bottom-nav{position:fixed;z-index:20;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(calc(100% - 28px),520px);height:76px;padding:8px 28px;display:flex;align-items:center;justify-content:space-between;background:#ffffffe8;border:1px solid rgba(215,224,236,.9);border-radius:26px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{min-width:64px;display:grid;place-items:center;gap:4px;border:0;background:none;color:#8a97aa;font-size:.65rem;font-weight:750;cursor:pointer}.bottom-nav button.active{color:var(--blue)}.nav-home{width:19px;height:19px;border:2px solid currentColor;border-radius:6px 6px 3px 3px;transform:rotate(45deg)}.bottom-nav .nav-capture{color:var(--ink);transform:translateY(-14px)}.nav-capture span{width:54px;height:54px;border-radius:19px 19px 19px 7px;display:grid;place-items:center;color:#fff;background:var(--blue);box-shadow:0 9px 20px #1f5bff47}.sheet-page{min-height:100dvh;background:#fff}.sheet-header{position:sticky;z-index:10;top:0;padding:12px 18px;background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #edf0f5}.sheet-header>div{flex:1;text-align:center}.sheet-header h2{margin:4px 0 0;font-size:1rem;letter-spacing:-.02em}.sheet-header .icon-button{background:var(--paper);box-shadow:none}.capture-body{padding:20px 20px 104px}.mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:5px;margin-bottom:24px;background:#f0f3f8;border-radius:16px}.mode-tabs button{min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:750;cursor:pointer}.mode-tabs button.active{color:var(--blue);background:#fff;box-shadow:0 4px 12px #1c345b14}.capture-panel{display:grid;gap:18px}.photo-frame{min-height:295px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:28px;border:2px dashed #b9c7d9;border-radius:28px 28px 28px 9px;background:#f5f8fd;background-position:center;background-size:cover;text-align:center;color:var(--blue);overflow:hidden}.photo-frame strong,.qr-view strong{margin-top:4px;color:var(--ink);font-size:1.05rem}.photo-frame small,.qr-view small{color:var(--muted)}.photo-frame.has-photo{justify-content:flex-end;border:0;box-shadow:inset 0 -90px 70px -40px #051020a8}.camera-label,.secondary-button{margin-top:16px;min-height:44px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;color:#fff;background:var(--blue);font-size:.8rem;font-weight:800;cursor:pointer}.camera-label input,.person-photo input{position:absolute;opacity:0;pointer-events:none}.privacy-note{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;color:#5d6f88;background:#eff5ff;border-radius:14px;font-size:.73rem;line-height:1.45}.privacy-note svg{color:var(--blue);flex:0 0 auto}.message{padding:12px 14px;color:#7a3d15;background:#fff4e8;border-radius:12px;font-size:.78rem;line-height:1.4}.primary-button{min-height:54px;display:flex;align-items:center;justify-content:center;gap:9px;padding:0 22px;border:0;border-radius:17px 17px 17px 6px;background:var(--blue);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 12px 24px #1f5bff33}.primary-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.bottom-action{position:fixed;z-index:12;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100% - 40px),520px)}.qr-view{min-height:280px;position:relative;overflow:hidden;display:grid;place-items:center;border-radius:28px 28px 28px 9px;background:#0d1930;color:#fff}.qr-view video{width:100%;height:100%;position:absolute;object-fit:cover}.qr-view>div{position:relative;z-index:2;display:grid;justify-items:center;gap:8px;text-align:center}.qr-view strong{color:#fff}.qr-view small{color:#a8b5c8}.scan-corner{display:none;position:absolute;z-index:3;width:46px;height:46px;border-color:var(--lime)}.is-scanning .scan-corner{display:block}.scan-corner.tl{top:50px;left:50px;border-top:3px solid var(--lime);border-left:3px solid var(--lime)}.scan-corner.tr{top:50px;right:50px;border-top:3px solid var(--lime);border-right:3px solid var(--lime)}.scan-corner.bl{bottom:50px;left:50px;border-bottom:3px solid var(--lime);border-left:3px solid var(--lime)}.scan-corner.br{bottom:50px;right:50px;border-bottom:3px solid var(--lime);border-right:3px solid var(--lime)}.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.72rem}.or span{flex:1;height:1px;background:var(--line)}.manual-intro{min-height:300px;place-items:center;align-content:center;text-align:center}.manual-icon{width:80px;height:80px;display:grid;place-items:center;border-radius:26px 26px 26px 8px;background:#e8eeff;color:var(--blue)}.manual-intro h3{margin:10px 0 -8px;font-size:1.3rem}.manual-intro p{margin:0;max-width:280px;color:var(--muted);line-height:1.55}.details-form{padding:20px 20px calc(32px + env(safe-area-inset-bottom))}.enrichment-note{margin-bottom:18px;padding:14px;display:flex;align-items:flex-start;gap:11px;border:1px solid #c8d8ff;border-radius:16px 16px 16px 6px;color:var(--blue);background:#eef3ff}.enrichment-note>svg{width:18px;flex:0 0 auto}.enrichment-note>span{display:grid;gap:4px}.enrichment-note strong{color:var(--ink);font-size:.78rem}.enrichment-note small{color:#657590;font-size:.68rem;line-height:1.45}.photo-pair{display:grid;grid-template-columns:1fr 110px;gap:10px;margin-bottom:24px}.person-photo,.card-thumb{min-height:142px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px;border:1px dashed #b9c7d9;border-radius:22px 22px 22px 7px;background:#f4f7fc center/cover;text-align:center;cursor:pointer}.person-photo svg{color:var(--blue)}.person-photo strong{font-size:.8rem}.person-photo small{color:var(--muted);font-size:.66rem}.person-photo.has-photo{justify-content:flex-end;border:0}.person-photo.has-photo:after,.card-thumb:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#051020bf)}.person-photo.has-photo span,.card-thumb span{position:relative;z-index:2;color:#fff;font-size:.7rem;font-weight:800}.card-thumb{border:0;justify-content:flex-end;background-size:cover;background-position:center}.form-section{display:grid;gap:16px}.field{display:grid;gap:7px}.field>span{display:flex;justify-content:space-between;color:#506079;font-size:.72rem;font-weight:750}.field em{color:var(--blue);font-style:normal;font-size:.62rem}.field small{color:#99a4b5;font-weight:500}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fafbfe;color:var(--ink);padding:13px 14px;outline:none;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #1f5bff14}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.save-button{width:100%;margin-top:24px}.offline-copy{text-align:center;color:var(--muted);font-size:.68rem}.powered-by{padding:26px 20px 112px;display:grid;place-items:center;gap:4px;color:#8a97aa;text-align:center;font-size:.7rem}.powered-by strong{color:var(--ink)}.powered-by small{font-size:.6rem}.contacts-header{display:flex;align-items:flex-end;justify-content:space-between;padding:54px 2px 20px}.contacts-header h1{margin:8px 0 0;font-size:2.7rem}.contacts-header sup{color:var(--blue);font-size:.8rem;vertical-align:top;letter-spacing:0}.export-icon{color:var(--blue)}.search-box{height:49px;margin-bottom:20px;padding:0 14px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:15px;color:var(--muted)}.search-box input{width:100%;height:100%;border:0;outline:0;color:var(--ink);background:transparent}.full-list .contact-row{padding:14px}.full-list .contact-copy{flex:1}.no-results{min-height:260px;display:grid;place-items:center;align-content:center;gap:7px;color:var(--muted);text-align:center}.no-results svg{margin-bottom:8px;color:#b2bdcd}.no-results small{font-size:.75rem}.floating-add{position:fixed;z-index:12;right:max(calc((100vw - 520px)/2 + 16px),20px);bottom:108px;height:48px;padding:0 18px;display:flex;align-items:center;gap:7px;border:0;border-radius:16px 16px 16px 6px;background:var(--blue);color:#fff;font-weight:800;font-size:.8rem;box-shadow:0 12px 24px #1f5bff3d;cursor:pointer}.detail-page{min-height:100dvh;padding-bottom:36px}.detail-nav{padding:12px 20px}.detail-nav p{font-size:.78rem;font-weight:800}.danger-icon{color:#bd4b44}.profile-hero{padding:34px 24px 28px;text-align:center}.avatar-large{width:116px;height:116px;margin:0 auto 18px;border:6px solid white;box-shadow:0 12px 35px #1c345b24;font-size:1.5rem}.profile-hero h1{margin:8px 0 7px;font-size:2.25rem}.profile-hero>p:last-child{margin:0;color:var(--muted)}.quick-actions{margin:0 20px 26px;display:flex;justify-content:center;gap:9px}.quick-actions a{min-width:70px;height:68px;display:grid;place-items:center;align-content:center;gap:5px;color:var(--blue);background:#fff;border:1px solid var(--line);border-radius:17px;text-decoration:none;box-shadow:0 6px 18px #1c345b0a}.quick-actions span{color:var(--ink);font-size:.65rem;font-weight:750}.memory-card{margin:0 20px 22px;padding:20px;border-radius:21px 21px 21px 7px;background:#eaf0ff}.memory-card>p:last-child{margin:10px 0 0;line-height:1.55}.detail-info{margin:0 20px 22px;overflow:hidden;border:1px solid var(--line);border-radius:21px;background:#fff}.detail-info>div{display:flex;gap:13px;align-items:center;padding:15px;border-bottom:1px solid #edf0f5}.detail-info>div:last-child{border:0}.detail-info svg{color:var(--blue)}.detail-info span{display:grid;gap:3px;min-width:0}.detail-info small{color:var(--muted);font-size:.65rem}.detail-info a{color:var(--ink);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.saved-card{margin:0 20px}.saved-card img{width:100%;margin-top:9px;border-radius:18px}.captured-by{display:inline-block;margin-top:10px;padding:5px 9px;border-radius:20px;color:var(--blue);background:#e8eeff;font-size:.65rem;font-weight:750}.edit-contact{display:grid;gap:16px;padding-top:28px}.cancel-edit{color:var(--ink)}.success-page{min-height:100dvh;padding:max(90px,calc(env(safe-area-inset-top) + 60px)) 28px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--blue);color:#fff;overflow:hidden}.success-page:before,.success-page:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}.success-page:before{width:430px;height:430px;top:-190px;right:-190px}.success-page:after{width:290px;height:290px;top:-120px;right:-120px;border-color:#c9f26959}.success-ring{width:74px;height:74px;position:relative;z-index:2;margin-bottom:24px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:var(--ink);box-shadow:0 0 0 12px #c9f26921}.success-page .eyebrow{color:var(--lime)}.success-page h1{margin:12px 0 16px;font-size:3.1rem}.success-page>p:not(.eyebrow){max-width:360px;margin:0;color:#ffffffb3;line-height:1.55}.success-person{width:100%;margin:38px 0 24px;padding:12px;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:#ffffff1a}.success-person span:last-child{display:grid;gap:4px}.success-person small{color:#ffffffa6}.success-page .primary-button{width:100%;color:var(--ink);background:var(--lime);box-shadow:none}.text-button{margin-top:16px;padding:10px;border:0;background:transparent;color:#fff;font-weight:750;cursor:pointer}.success-page .powered-by{margin-top:auto;padding:34px 0 0;color:#ffffff9e}.success-page .powered-by strong{color:#fff}.loading-page{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:14px;color:var(--muted)}.loading-page .brand-mark{width:58px;height:58px;border-radius:19px 19px 19px 7px}.loading-page p{font-size:.8rem}.public-page{min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) 22px 0;overflow:hidden;background:linear-gradient(150deg,#edf3ff 0,var(--paper) 42%)}.public-page:before{content:"";position:absolute;width:360px;height:360px;top:-210px;right:-180px;border:1px solid rgba(31,91,255,.16);border-radius:50%;box-shadow:0 0 0 54px #1f5bff09,0 0 0 108px #1f5bff06}.public-header,.public-hero,.public-feature-grid,.public-page>.powered-by{position:relative;z-index:1}.public-header{min-height:54px;display:flex;align-items:center;justify-content:space-between}.admin-entry{min-height:40px;padding:0 13px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:13px;background:#ffffffc7;color:var(--ink);font-size:.72rem;font-weight:800;cursor:pointer}.admin-entry svg{width:16px}.public-hero{padding:64px 2px 32px}.public-hero h1{margin:12px 0 19px;font-family:Arial Rounded MT Bold,Segoe UI,sans-serif;font-size:clamp(3.2rem,14.5vw,4.8rem);line-height:.91;letter-spacing:-.07em}.public-hero h1 span{color:var(--blue)}.public-hero>p:last-of-type{max-width:440px;margin:0;color:var(--muted);line-height:1.62;font-size:.92rem}.public-cta{width:100%;margin-top:30px}.public-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.public-feature-grid article{min-height:148px;padding:15px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:20px 20px 20px 7px;background:#fffc}.public-feature-grid svg{width:20px;color:var(--blue)}.public-feature-grid strong{margin-top:5px;font-size:.75rem}.public-feature-grid small{color:var(--muted);font-size:.63rem;line-height:1.45}.public-page>.powered-by{padding-bottom:max(24px,env(safe-area-inset-bottom))}.auth-page{min-height:100dvh;padding:max(26px,env(safe-area-inset-top)) 20px 0;overflow:hidden;background:linear-gradient(155deg,#eef3ff 0,var(--paper) 38%)}.auth-page:before{content:"";position:absolute;z-index:0;width:330px;height:330px;right:-180px;top:-175px;border:1px solid rgba(31,91,255,.14);border-radius:50%;box-shadow:0 0 0 52px #1f5bff09,0 0 0 104px #1f5bff06}.auth-brand,.auth-copy,.auth-card,.auth-page>.powered-by{position:relative;z-index:1}.auth-brand{min-height:56px;display:flex;align-items:center}.auth-copy{padding:44px 3px 22px}.auth-copy h1{max-width:470px;margin:10px 0 13px;font-family:Arial Rounded MT Bold,Segoe UI,sans-serif;font-size:clamp(2.35rem,11vw,3.7rem);line-height:.97;letter-spacing:-.06em}.auth-copy>p:last-child{margin:0;max-width:430px;color:var(--muted);font-size:.88rem;line-height:1.55}.auth-card{padding:20px;background:#fff;border:1px solid var(--line);border-radius:27px 27px 27px 9px;box-shadow:0 20px 60px #1c345b1a}.auth-form{display:grid;gap:16px}.auth-submit{width:100%;margin-top:3px}.auth-back{margin:-5px 0 0;color:var(--muted)}.auth-page>.powered-by{padding-bottom:max(24px,env(safe-area-inset-bottom))}.password-field{width:100%;height:48px;padding:0 6px 0 0;display:flex!important;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fafbfe}.password-field input{height:100%;border:0!important;background:transparent!important;box-shadow:none!important}.password-field button{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:pointer}.password-field svg{width:18px}.form-kicker{margin:7px 0 -4px;display:flex;align-items:center;gap:8px;color:var(--blue);font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.form-kicker svg{width:17px}.field-hint{margin:-10px 0 2px;color:var(--muted);font-size:.65rem}.logo-upload{min-height:74px;position:relative;display:flex;align-items:center;gap:13px;padding:10px 13px;border:1px dashed #b8c5d8;border-radius:16px 16px 16px 6px;background:#f7f9fd;cursor:pointer}.logo-upload>img,.logo-upload>svg{width:50px;height:50px;object-fit:contain;padding:5px;border-radius:12px;background:#fff;color:var(--blue)}.logo-upload>span{display:grid;gap:4px}.logo-upload strong{font-size:.78rem}.logo-upload small{color:var(--muted);font-size:.64rem}.logo-upload input{position:absolute;opacity:0;pointer-events:none}.admin-page{min-height:100dvh;padding:0 20px 24px}.admin-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:env(safe-area-inset-top)}.admin-header>a{text-decoration:none}.admin-intro{padding:34px 2px 26px}.admin-intro h1{margin:8px 0 10px;font-family:Arial Rounded MT Bold,Segoe UI,sans-serif;font-size:2.65rem;line-height:.98;letter-spacing:-.06em}.admin-intro>p:last-child{margin:0;color:var(--muted);line-height:1.5;font-size:.82rem}.admin-message{margin:0 0 18px}.admin-section{margin-bottom:18px;padding:19px;border:1px solid var(--line);border-radius:24px 24px 24px 8px;background:#fff}.admin-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:15px}.admin-section-head h2{margin:5px 0 0;font-size:1.15rem;letter-spacing:-.03em}.admin-section-head sup{color:var(--blue);font-size:.65rem}.small-primary{min-height:38px;padding:0 12px;display:flex;align-items:center;gap:6px;border:0;border-radius:12px 12px 12px 4px;color:#fff;background:var(--blue);font-size:.7rem;font-weight:800;cursor:pointer}.small-primary svg{width:16px}.workspace-code{width:100%;min-height:60px;margin-bottom:14px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:14px;background:#eef3ff;color:var(--blue);text-align:left;cursor:pointer}.workspace-code span{display:grid;gap:2px}.workspace-code small{color:var(--muted);font-size:.62rem}.workspace-code strong{font-size:.85rem}.inline-form{display:grid;gap:14px;margin:0 0 16px;padding:16px;border-radius:17px;background:#f6f8fc}.inline-form h3{margin:0 0 2px;font-size:.95rem}.field select{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:#fafbfe}.user-list{display:grid}.user-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;min-width:0;padding:12px 0;border-bottom:1px solid #edf0f5}.user-row:last-child{border-bottom:0}.user-row .avatar{width:42px;height:42px}.user-row>span:nth-child(2){min-width:0;display:grid;gap:4px}.user-row strong,.user-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row strong{font-size:.8rem}.user-row small{color:var(--muted);font-size:.63rem}.user-row button{min-width:54px;min-height:30px;padding:0 8px;border:1px solid #b8d39a;border-radius:9px;color:#407322;background:#f0f9e7;font-size:.62rem;font-weight:800;cursor:pointer}.user-row.inactive{opacity:.58}.user-row.inactive button{border-color:#d8bdba;color:#9c5049;background:#fff1ef}.user-row button:disabled{cursor:not-allowed}.brand-settings .inline-form{margin-bottom:0}.admin-page>.powered-by{padding-bottom:12px}.platform-page .admin-header{border-bottom:1px solid var(--line)}.company-list{display:grid}.company-row{width:100%;min-width:0;padding:13px 0;display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:11px;border:0;border-bottom:1px solid #edf0f5;background:transparent;text-align:left;cursor:pointer}.company-row:last-child{border-bottom:0}.company-logo{width:44px;height:44px;display:grid;place-items:center;overflow:hidden;border-radius:13px 13px 13px 5px;color:var(--blue);background:#e9efff}.company-logo img{width:100%;height:100%;padding:5px;object-fit:contain;background:#fff}.company-row>span:nth-child(2){min-width:0;display:grid;gap:4px}.company-row strong,.company-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-row strong{font-size:.82rem}.company-row small{color:var(--muted);font-size:.64rem}.company-row>svg{width:17px;color:#9da9ba}.company-empty{min-height:160px;display:grid;place-items:center;align-content:center;gap:7px;color:var(--muted);text-align:center}.company-empty svg{color:#b2bdcd}.company-empty strong{color:var(--ink);font-size:.82rem}.company-empty small{font-size:.68rem}@media(min-width:600px){body{padding:24px 0}.app-shell,.sheet-page,.detail-page,.success-page,.auth-page,.admin-page,.loading-page,.public-page{min-height:calc(100vh - 48px);border-radius:32px;overflow:hidden}.bottom-nav{bottom:36px}.bottom-action{bottom:42px}.floating-add{bottom:132px}}@media(prefers-reduced-motion:no-preference){.capture-portal,.primary-button,.contact-row{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.portal-core{animation:breathe 3s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.05);box-shadow:0 0 0 10px #ffffff0f}}}@media(max-width:380px){.page{padding-left:16px;padding-right:16px}.capture-portal{grid-template-columns:72px 1fr 18px;padding:18px 16px}.portal-core{width:66px;height:66px}.today-strip{gap:9px;padding:14px 12px}.today-strip button{font-size:.68rem}.field-grid{grid-template-columns:1fr}}
