:root{--bg-page:#f0f4ef;--bg-card:#fcfdf9;--bg-input:#eef3ec;--bg-header-row:#eaf0e8;--bg-hover:#e5efe5;--bg-row-hover:#f4f8f2;--primary:#174a35;--primary-dark:#103927;--primary-light:#66a984;--cyan:#2b9b7a;--navy:#0f172a;--text-title:#0f172a;--text-body:#334155;--text-muted:#7c8799;--icon:#1e293b;--border:#edeff3;--border-input:#e5e8ee;--grid-line:#e8ebf0;--hatch:#eef1f6;--green-bg:#e6f7ee;--green-text:#1e9e5a;--green-border:#a6e0be;--red-bg:#fdebec;--red-text:#e5484d;--red-border:#f5b5b8;--orange-bg:#fff6e6;--orange-text:#d9961a;--orange-border:#f3d9a2;--radius-frame:28px;--radius-card:20px;--radius-search:14px;--radius-btn:12px;--radius-select:10px;--radius-pill:8px;--shadow-card:0 1px 2px #0f172a0a;--shadow-frame:0 24px 64px #0f172a14;--shadow-active:0 8px 16px #174a3533;--shadow-popover:0 8px 24px #0f172a1f;--gap:20px;--pad-card:24px;--pad-content:20px;--header-h:94px;--sidebar-w:280px;--sidebar-w-collapsed:84px;--menu-item-h:48px;--table-row-h:56px;--transition:all .18s ease;--focus-ring:0 0 0 3px #174a3529;--bg:var(--bg-page);--surface:var(--bg-card);--text:var(--text-title);--muted:var(--text-muted);--line:var(--border);--green:var(--green-text);--orange:var(--orange-text);--red:var(--red-text);--shadow:var(--shadow-card);--radius:var(--radius-card);--bg-app:#e8efe8;--photo-viewer-image-max-height:88vh;--photo-viewer-image-max-width:96vw;--photo-viewer-z:220;--text-on-primary:#fff;--primary-subtle:#ddebe2;--primary-border:#d5e6da;--overlay:#0f172a7a;--bg-glass:#fcfdf9f7;--shadow-card-hover:0 8px 22px #174a3514;--surface-tint:#e5efe5;--surface-soft:#f7faf5;--chat-red:#e5484d;--chat-red-halo:#e5484d2e;--pagination-current:#174a35}*{box-sizing:border-box}html{background:var(--bg-app);scroll-behavior:smooth;min-height:100%}body{background:var(--bg-app);color:var(--text-body);-webkit-font-smoothing:antialiased;margin:0;font-family:Century Gothic,AppleGothic,URW Gothic,Arial,sans-serif;font-size:14px;line-height:1.55}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.shell{background:var(--bg-page);border-radius:var(--radius-frame);max-width:1440px;min-height:calc(100vh - 48px);box-shadow:var(--shadow-frame);margin:24px auto;padding:20px;overflow:hidden}.topbar,.toolbar,.top-actions,.actions,.page-head,.brand,.nav{align-items:center;gap:12px;display:flex}.topbar,.toolbar,.page-head{justify-content:space-between}.topbar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);min-height:76px;box-shadow:var(--shadow-card);margin-bottom:14px;padding:14px 22px}.brand{color:var(--text-title);gap:12px;min-width:0}.brand:hover{color:var(--text-title)}.brand-mark{width:46px;height:46px;color:var(--bg-card);background:var(--primary);letter-spacing:-.04em;border-radius:14px;flex:0 0 46px;place-items:center;font-size:15px;font-weight:800;display:grid}.brand-copy{flex-direction:column;line-height:1.15;display:flex}.brand-copy strong{letter-spacing:-.035em;color:var(--primary);font-size:19px;font-weight:800}.brand-copy strong span{color:var(--navy)}.brand-copy small{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-top:5px;font-size:9px;font-weight:700}.top-actions{flex-wrap:wrap;justify-content:flex-end}.user-pill,.connection{border:1px solid var(--border-input);background:var(--bg-card);border-radius:var(--radius-pill);color:var(--text-muted);align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.connection{background:var(--green-bg);border-color:var(--green-border);color:var(--green-text)}.connection:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.connection.offline{background:var(--red-bg);border-color:var(--red-border);color:var(--red-text)}.nav{border:1px solid var(--border);background:var(--bg-card);border-radius:16px;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:7px}.nav a{border-radius:var(--radius-btn);color:var(--text-body);transition:var(--transition);align-items:center;gap:8px;padding:10px 15px;font-weight:600;display:flex}.nav a.active,.nav a:hover{background:var(--bg-hover);color:var(--primary)}.nav a.active{background:var(--primary);color:var(--bg-card);box-shadow:var(--shadow-active)}.page-head{align-items:flex-end;gap:16px;margin:18px 2px 22px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--primary);font-size:10px;font-weight:800}h1{letter-spacing:-.045em;color:var(--text-title);margin:7px 0;font-size:clamp(25px,3vw,36px);line-height:1.17}h2,h3{letter-spacing:-.025em;color:var(--text-title);margin:0 0 14px}h2{font-size:18px;font-weight:700}h3{font-size:16px;font-weight:700}p{margin-top:0}.page-head p,.muted{color:var(--text-muted)}.page-head p{max-width:660px;margin:5px 0 0;font-size:14px}.grid{gap:var(--gap);display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);min-width:0;padding:var(--pad-card);box-shadow:var(--shadow-card);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-card-hover)}.stat{justify-content:space-between;align-items:center;gap:14px;min-height:126px;display:flex}.stat-number{letter-spacing:-.055em;color:var(--text-title);font-size:36px;font-weight:800;line-height:1}.stat-label{color:var(--text-body);margin-top:8px;font-size:13px;font-weight:500}.stat-icon{background:var(--bg-input);width:44px;height:44px;color:var(--text-body);border-radius:50%;flex:0 0 44px;place-items:center;font-size:21px;font-weight:600;display:grid}.field{flex-direction:column;gap:7px;min-width:0;margin-bottom:14px;display:flex}.field label{color:var(--text-body);font-size:12px;font-weight:700}.field input,.field select,.field textarea,.search,.inline-role{border:1px solid var(--border-input);border-radius:var(--radius-search);background:var(--bg-input);width:100%;color:var(--text-title);min-height:44px;transition:var(--transition);outline:0;padding:12px 14px}.field select,.inline-role{cursor:pointer}.field textarea{resize:vertical;min-height:100px}.field input:focus,.field select:focus,.field textarea:focus,.search:focus,.inline-role:focus{border-color:var(--primary);background:var(--bg-card);box-shadow:var(--focus-ring)}.field input::placeholder,.field textarea::placeholder,.search::placeholder{color:var(--text-muted)}.hint,.small{color:var(--text-muted);font-size:12px}.btn{border-radius:var(--radius-btn);background:var(--primary);min-height:44px;color:var(--bg-card);transition:var(--transition);text-align:center;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:700;display:inline-flex}.btn:hover{background:var(--primary-dark);color:var(--bg-card);box-shadow:var(--shadow-active)}.btn.secondary{background:var(--bg-card);border-color:var(--border-input);color:var(--text-body);box-shadow:none}.btn.secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--bg-hover)}.btn.success{background:var(--green-text);color:var(--bg-card)}.btn.warning{background:var(--orange-text);color:var(--bg-card)}.btn.danger{background:var(--red-text);color:var(--bg-card)}.btn.small-btn{min-height:36px;padding:7px 11px;font-size:12px}.stack{flex-direction:column;gap:12px;display:flex}.notice{border-radius:var(--radius-btn);background:var(--bg-hover);color:var(--primary-dark);border:1px solid var(--border);padding:13px 15px;font-size:13px}.notice.error{background:var(--red-bg);color:var(--red-text);border-color:var(--red-border)}.notice.success{background:var(--green-bg);color:var(--green-text);border-color:var(--green-border)}.notice.warning{background:var(--orange-bg);color:var(--orange-text);border-color:var(--orange-border)}.badge{border-radius:var(--radius-pill);background:var(--bg-input);color:var(--text-body);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge.green{background:var(--green-bg);border-color:var(--green-border);color:var(--green-text)}.badge.orange{background:var(--orange-bg);border-color:var(--orange-border);color:var(--orange-text)}.badge.red{background:var(--red-bg);border-color:var(--red-border);color:var(--red-text)}.badge.blue{background:var(--bg-hover);color:var(--primary);border-color:var(--primary-border)}.visit-card{border:1px solid var(--border);background:var(--bg-card);box-shadow:none;border-radius:16px;min-width:0;padding:17px}.visit-card+.visit-card{margin-top:12px}.visit-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.visit-card h3{margin:0 0 5px;font-size:16px}.visit-meta{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.visit-note{border-radius:var(--radius-btn);background:var(--bg-input);color:var(--text-body);white-space:pre-wrap;overflow-wrap:anywhere;margin:11px 0 0;padding:11px 13px;font-size:13px}.visit-controls{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:14px;display:grid}.visit-controls select{border:1px solid var(--border-input);background:var(--bg-input);border-radius:var(--radius-btn);width:100%;min-width:0;color:var(--text-body);padding:10px 12px}.checkbox-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.check-item{border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--bg-card);align-items:center;gap:9px;min-width:0;padding:10px 12px;display:flex}.check-item input{accent-color:var(--primary);flex:0 0 16px;width:16px;height:16px}.empty{text-align:center;color:var(--text-muted);border:1px dashed var(--border-input);border-radius:var(--radius-btn);background:var(--bg-card);padding:28px 12px}.empty strong{color:var(--text-title);margin-bottom:5px;display:block}.table-wrap{border-radius:var(--radius-btn);width:100%;overflow-x:auto}table{border-collapse:separate;border-spacing:0;width:100%;min-width:620px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px;font-size:13px}th{color:var(--text-muted);background:var(--bg-header-row);height:48px;font-size:12px;font-weight:600}th:first-child{border-radius:12px 0 0 12px}th:last-child{border-radius:0 12px 12px 0}td{height:var(--table-row-h);color:var(--text-title);font-weight:500}tbody tr:hover{background:var(--bg-row-hover)}tbody tr:last-child td{border-bottom:0}.table-empty{text-align:center;color:var(--text-muted);padding:24px}.footer-note{color:var(--text-muted);margin:20px 4px 4px;font-size:11px}.section-gap{margin-top:var(--gap)}.reception-layout{gap:var(--gap);grid-template-columns:minmax(0,1fr);display:grid}.login-page{background:var(--bg-page);place-items:center;min-height:100vh;padding:24px;display:grid}.login-layout{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-frame);width:min(980px,100%);box-shadow:var(--shadow-frame);grid-template-columns:1.05fr .95fr;display:grid;overflow:hidden}.login-info{background:var(--primary);color:var(--bg-card);flex-direction:column;justify-content:space-between;gap:30px;padding:42px;display:flex}.login-info .brand,.login-info .brand-copy strong,.login-info .brand-copy strong span{color:var(--bg-card)}.login-info .brand-copy small{color:var(--primary-subtle)}.login-info h1{color:var(--bg-card);letter-spacing:-.045em;margin:27px 0 13px;font-size:clamp(31px,4vw,44px);line-height:1.1}.login-info p{color:var(--primary-subtle);max-width:460px;font-size:15px}.login-info-foot{color:var(--primary-subtle);font-size:12px}.login-form{align-self:center;padding:42px}.login-form h2{margin:6px 0;font-size:27px}.login-form>p{color:var(--text-muted);margin:0 0 25px}.login-form .btn{width:100%}.divider{background:var(--border);height:1px;margin:22px 0}.toast-region{z-index:1000;flex-direction:column;gap:8px;max-width:min(380px,100vw - 28px);display:flex;position:fixed;top:14px;right:14px}.toast{background:var(--navy);color:var(--bg-card);border-radius:var(--radius-btn);box-shadow:var(--shadow-popover);padding:13px 16px;font-size:13px}.toast.error{background:var(--red-text)}.toast.success{background:var(--green-text)}.mobile-bottom{display:none}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.status-option{border:1px solid var(--border-input);border-radius:var(--radius-btn);background:var(--bg-card);transition:var(--transition);padding:14px;display:block}.status-option:has(input:checked){border-color:var(--primary);background:var(--bg-hover);box-shadow:var(--focus-ring)}.status-option input{accent-color:var(--primary);margin-right:7px}.hidden{display:none!important}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.brand-seal{letter-spacing:-.04em;border:2px solid;border-radius:50%;place-items:center;width:44px;height:44px;font-size:12px;font-weight:900;display:inline-grid}.reception-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);min-height:170px;box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:24px;padding:28px;display:flex}.reception-hero-copy{max-width:620px}.reception-hero h2{margin:7px 0;font-size:24px}.reception-hero p{color:var(--text-muted);max-width:600px;margin:0}.reception-hero .btn{flex-shrink:0;min-width:210px;min-height:54px}.home-section-title{justify-content:space-between;align-items:flex-end;gap:12px;margin:24px 2px 12px;display:flex}.home-section-title h2{margin:0}.home-section-title p{color:var(--text-muted);margin:4px 0 0;font-size:12px}.home-section-title a{white-space:nowrap;font-size:12px;font-weight:700}.mobile-bottom a{border-radius:var(--radius-btn);min-width:70px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px;font-size:10px;font-weight:700;display:flex}.mobile-bottom a.active{color:var(--primary);background:var(--bg-hover)}.mobile-bottom a span{font-size:18px;line-height:1.1}.modal-backdrop{z-index:100;background:var(--overlay);justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--bg-card);border-radius:var(--radius-card);width:min(620px,100%);max-height:min(90vh,840px);box-shadow:var(--shadow-popover);padding:24px;animation:.18s ease-out modal-in;overflow:auto}.modal-panel.wide{width:min(760px,100%)}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.modal-header h2{margin:5px 0}.modal-close{border:1px solid var(--border-input);background:var(--bg-card);width:38px;height:38px;color:var(--text-body);border-radius:50%;flex:0 0 38px;font-size:22px;line-height:1}.modal-close:hover{background:var(--bg-input)}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.announcement-icon{background:var(--bg-hover);width:50px;height:50px;color:var(--primary);border-radius:50%;place-items:center;margin-bottom:14px;font-size:24px;display:grid}.response-message{border-radius:var(--radius-btn);background:var(--bg-input);color:var(--text-body);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px;padding:13px}.chat-panel{background:var(--bg-card);border-radius:var(--radius-card);width:min(620px,100%);height:min(740px,88vh);box-shadow:var(--shadow-popover);flex-direction:column;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:20px;display:flex}.chat-header h2{margin:3px 0}.chat-messages{background:var(--bg-page);flex-direction:column;flex:1;gap:10px;padding:18px;display:flex;overflow-y:auto}.chat-bubble{background:var(--bg-card);border:1px solid var(--border);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:14px;align-self:flex-start;max-width:86%;padding:11px 13px}.chat-bubble.mine{background:var(--bg-hover);border-color:var(--primary-border);align-self:flex-end}.chat-bubble small{color:var(--text-muted);margin-top:6px;font-size:10px;display:block}.chat-form{border-top:1px solid var(--border);background:var(--bg-card);align-items:flex-end;gap:10px;padding:14px;display:flex}.chat-form textarea{resize:vertical;border:1px solid var(--border-input);border-radius:var(--radius-search);background:var(--bg-input);width:100%;min-height:44px;max-height:120px;color:var(--text-title);flex:1;padding:12px}.chat-form textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:0}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width>=1200px){.reception-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=1199px){.shell{min-height:calc(100vh - 24px);margin:12px;padding:16px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.shell{padding:14px 14px calc(88px + env(safe-area-inset-bottom));min-height:100vh;box-shadow:none;border-radius:0;margin:0}.topbar{gap:8px;min-height:66px;margin:0 -2px 12px;padding:12px}.brand{gap:9px}.brand-mark{border-radius:12px;flex-basis:40px;width:40px;height:40px}.brand-copy strong{font-size:16px}.brand-copy small{letter-spacing:.08em;font-size:8px}.top-actions{gap:7px}.top-actions .connection{padding:7px 8px;font-size:10px}.top-actions .user-pill{display:none}.top-actions #sign-out{min-height:34px;padding:6px 9px;font-size:11px}.page-head{flex-direction:column;align-items:flex-start;gap:10px;margin:16px 2px}.page-head h1{font-size:28px}.grid.two,.grid.three,.grid.four,.reception-layout,.login-layout{grid-template-columns:1fr}.login-page{padding:12px}.login-layout{border-radius:var(--radius-card);max-width:500px}.login-info{gap:12px;padding:26px}.login-info h1{margin:15px 0 8px;font-size:30px}.login-info-foot{display:none}.login-form{padding:25px}.login-form h2{font-size:24px}.checkbox-list,.form-grid{grid-template-columns:1fr}.card{padding:18px}.nav{display:none}.mobile-bottom{z-index:50;background:var(--bg-glass);border-top:1px solid var(--border);padding:7px 8px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-around;align-items:center;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.stat-number{font-size:30px}.reception-hero{flex-direction:column;align-items:stretch;gap:18px;padding:22px}.reception-hero h2{font-size:22px}.reception-hero .btn{width:100%;min-width:0}.home-section-title{align-items:flex-start;margin-top:22px}.visit-controls{grid-template-columns:1fr}.modal-backdrop{align-items:flex-end;padding:0}.modal-panel{width:100%;max-height:92vh;padding:20px 16px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.modal-panel.wide{width:100%}.chat-panel{border-radius:22px 22px 0 0;width:100%;height:92dvh}.chat-header{padding:16px}.chat-messages{padding:13px}.chat-form{gap:8px;padding:12px}.modal-actions .btn{flex:1}.status-grid{grid-template-columns:1fr 1fr}.table-wrap{overflow-x:auto}.toolbar{flex-direction:column;align-items:stretch}.toolbar .search{max-width:none!important}.page-head .badge{white-space:normal}}@media (width<=390px){.shell{padding-left:10px;padding-right:10px}.brand-copy small{max-width:145px}.top-actions .connection{display:none}.stat-number{font-size:27px}.reception-hero{padding:18px}.modal-panel{padding-left:14px;padding-right:14px}.chat-form .btn{padding:10px 12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.modal-open{overflow:hidden}.actions{flex-wrap:wrap}.visit-controls select:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:0}@media (width<=800px){.grid.three{gap:12px}.visit-card .grid.three{gap:8px}.visit-card .grid.three .btn{width:100%;padding:10px 7px;font-size:12px}}.brand-logo-image{object-fit:contain;background:var(--bg-card);border-radius:4px;flex:none;width:min(172px,42vw);height:auto;max-height:54px;display:block}.login-info .brand{background:var(--bg-card);border-radius:10px;align-self:flex-start;padding:6px 9px;display:inline-flex}.login-info .brand-logo-image{width:min(172px,45vw);max-height:50px}@media (width<=800px){.brand-logo-image{width:min(146px,41vw);max-height:46px}.login-info .brand-logo-image{width:min(166px,55vw);max-height:48px}}.login-location{color:var(--primary-subtle);margin-top:36px}.shell{background:var(--bg-page)}.card{background:var(--surface-soft);border-color:var(--primary-border)}.topbar,.nav,.modal-panel,.chat-panel{background:var(--bg-card)}.reception-hero{background:var(--surface-tint);border-color:var(--primary-border)}.reception-hero .eyebrow{color:var(--primary-dark)}.stat-icon{background:var(--surface-tint);color:var(--primary)}.visit-card{background:var(--surface-soft);border-color:var(--primary-border)}.visit-note{background:var(--bg-input)}.empty{background:var(--surface-soft)}.home-section-title{padding:2px 4px}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:17px 4px 2px;display:flex}.pagination-info{color:var(--text-muted);padding:0 8px;font-size:12px}.pagination-btn{border:1px solid var(--border-input);border-radius:var(--radius-btn);background:var(--bg-card);min-width:36px;height:36px;color:var(--text-body);padding:0 11px;font-weight:700}.pagination-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--bg-hover)}.pagination-btn:disabled{opacity:.38;cursor:not-allowed}.pagination-btn.current{background:var(--pagination-current);border-color:var(--pagination-current);color:var(--text-on-primary)}.chat-action{position:relative;padding-right:36px!important}.chat-unread-dot{background:var(--chat-red);width:9px;height:9px;box-shadow:0 0 0 3px var(--chat-red-halo);border-radius:50%;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.chat-unread-dot.hidden{display:none!important}.visit-photo{object-fit:cover;background:var(--bg-input);border:1px solid var(--primary-border);border-radius:14px;flex:0 0 54px;width:54px;height:54px}.visit-photo-wrap{align-items:flex-start;gap:12px;min-width:0;display:flex}.visit-photo-preview{object-fit:cover;border:1px solid var(--primary-border);background:var(--bg-input);border-radius:16px;width:104px;height:104px}.photo-preview-row{border-radius:var(--radius-btn);background:var(--surface-tint);align-items:center;gap:12px;padding:12px;display:flex}.photo-capture-input{border:1px dashed var(--primary-border);border-radius:var(--radius-search);background:var(--surface-tint);width:100%;color:var(--text-body);padding:12px}.floor-select{min-width:135px;max-width:190px}.staff-name-cell{min-width:180px}@media (width<=800px){.pagination{gap:6px}.pagination-btn{min-width:34px;height:36px;padding:0 9px}.visit-photo{flex-basis:48px;width:48px;height:48px}.floor-select{width:100%;max-width:none}}.visit-photo[data-photo-path]{cursor:zoom-in;transition:transform var(--transition),box-shadow var(--transition)}.visit-photo[data-photo-path]:hover{box-shadow:var(--shadow-popover);transform:scale(1.035)}.photo-viewer{z-index:var(--photo-viewer-z);background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.photo-viewer-content{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-width:0;max-width:100%;max-height:100%;display:flex}.photo-viewer-image{max-width:var(--photo-viewer-image-max-width);max-height:var(--photo-viewer-image-max-height);object-fit:contain;border-radius:var(--radius-card);width:auto;height:auto;box-shadow:var(--shadow-frame);background:var(--bg-card);display:block}.photo-viewer-caption{max-width:var(--photo-viewer-image-max-width);color:var(--text-on-primary);text-align:center;text-shadow:var(--shadow-popover);margin:0;font-size:13px}.photo-viewer-close{top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));border:1px solid var(--primary-border);background:var(--bg-card);width:46px;height:46px;color:var(--text-title);box-shadow:var(--shadow-popover);border-radius:50%;font-size:28px;line-height:1;position:absolute}.photo-viewer-close:hover{background:var(--surface-tint);color:var(--primary)}@media (width<=800px){.photo-viewer{padding:12px}.photo-viewer-image{border-radius:var(--radius-btn);max-width:98vw;max-height:84vh}.photo-viewer-close{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:42px;height:42px}}
