@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}:root{font-family:Manrope,Arial,sans-serif;color:#333;background:#f5f8fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid #3c9bd6;outline-offset:3px}.lock-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,#eaf4fa,#f8fbfd 65%)}.passcode-card{width:min(100%,430px);padding:36px;background:#fff;border-top:5px solid #3b9bd6;border-radius:16px;box-shadow:0 10px 32px #1a4b6812}.passcode-card h1{margin:0 0 25px;font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.035em;text-align:center;text-wrap:balance}label{display:block;margin-bottom:9px;font-size:14px;font-weight:700}input{display:block;width:100%;min-height:52px;padding:12px 14px;border:1px solid #bfcbd2;border-radius:4px;background:#fff;color:#333;outline:none}input:focus{border-color:#3b9bd6;box-shadow:0 0 0 3px #3b9bd629}.passcode-dots{display:flex;align-items:center;justify-content:center;gap:15px;min-height:58px}.passcode-dots span{display:block;width:17px;height:17px;border:2px solid #8aa6b5;border-radius:50%;background:#fff;transition:background-color .12s,border-color .12s}.passcode-dots span.filled{border-color:#263e4b;background:#263e4b}.passcode-dots.invalid{animation:pin-shake .28s ease-in-out}@keyframes pin-shake{25%{transform:translate(-8px)}50%{transform:translate(8px)}75%{transform:translate(-5px)}}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.keypad button{width:67px;height:67px;justify-self:center;appearance:none;border:1px solid #d7e4eb;border-radius:50%;background:#f1f7fb;color:#263e4b;font-size:25px;font-weight:600;touch-action:manipulation;user-select:none;-webkit-user-select:none}.keypad button:hover{background:#dceef8}.keypad button:active{background:#c8e4f3;transform:scale(.96)}.passcode-card .keypad{max-width:320px;margin:32px auto 0;gap:20px}.passcode-card .keypad button{width:min(76px,100%);height:auto;aspect-ratio:1;font-size:30px;font-weight:400}.keypad #passcode-delete,.keypad #lock-code-delete{border-color:transparent;background:transparent;font-size:27px}.lock-keypad{gap:4px;margin-top:8px}.lock-keypad button{width:54px;height:54px;font-size:21px}.field-label{margin:0 0 5px;font-size:14px;font-weight:700}.primary-button,.check-button{border:0;border-radius:4px;background:#c34704;color:#fff;font-weight:700}.primary-button:hover,.check-button:hover{background:#a93c03}.form-error{margin:12px 0 0;color:#ad2d21;font-size:13px;line-height:1.5}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1080px)/2));border-top:5px solid #3b9bd6;border-bottom:1px solid #e4e9ec;background:#fff}.topbar strong{font-size:20px;font-weight:700;letter-spacing:-.035em}.menu-wrap{position:relative}.menu-button{width:46px;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;border-radius:4px;background:transparent;color:#333}.menu-button:hover,.menu-button[aria-expanded=true]{background:#edf5f9}.menu-button span{display:block;width:22px;height:2px;background:currentColor;border-radius:1px}.menu-panel{position:absolute;z-index:5;right:0;top:52px;width:175px;padding:6px;background:#fff;border:1px solid #dce4e8;box-shadow:0 12px 28px #213d4f1c}.menu-panel button{display:block;width:100%;padding:12px 13px;border:0;background:transparent;color:#333;text-align:left;font-weight:600;font-size:14px}.menu-panel button:hover,.menu-panel button.active{background:#eaf4fa}.content-area{max-width:760px;margin:0 auto;padding:0 28px 80px}.back-button{display:block;min-height:44px;margin:0 0 12px;padding:8px 0;border:0;background:transparent;color:#245f82;font-size:15px;font-weight:700;text-align:left}.back-button:hover{text-decoration:underline}.dashboard-view{padding-top:clamp(78px,12vh,140px)}.success-banner{position:fixed;z-index:6;top:88px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;width:max-content;max-width:calc(100% - 32px);padding:12px 18px;border:1px solid #d2e6df;border-radius:12px;background:#f0faf5;color:#245b45;box-shadow:0 5px 18px #214b6214;font-size:15px;font-weight:700;pointer-events:none}.success-banner span{font-size:19px;line-height:1}#status-error{margin:0 0 20px}.latest-content{margin-bottom:104px}.latest-content h1{margin:0 0 19px;color:#333;font-size:clamp(24px,3.1vw,31px);line-height:1.35;font-weight:700;letter-spacing:-.035em}.latest-time{display:block;color:#333;font-size:clamp(30px,4.4vw,43px);line-height:1.25;font-weight:700;letter-spacing:-.045em}.latest-meta{margin:9px 0 0;color:#4e5a60;font-size:19px;line-height:1.5}.latest-meta span:last-child{font-weight:700}.check-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:74px;padding:15px 24px;border:1px solid #a93902;border-radius:8px;background:linear-gradient(#d75208,#c34704);font-size:20px;line-height:1.25;text-align:center;box-shadow:0 4px #963300,0 9px 18px #8d35032b,inset 0 1px #ffffff38;transition:transform .1s,box-shadow .1s;touch-action:manipulation}.check-button:hover{background:linear-gradient(#cd4a05,#b94003)}.check-button:active{transform:translateY(3px);box-shadow:0 1px #963300,0 4px 10px #8d350324,inset 0 1px #ffffff20}.button-arrow{display:block;flex:none;width:24px;height:24px}.history-view{padding-top:65px}.history-view h1{margin:0 0 32px;font-size:32px;line-height:1.2;letter-spacing:-.035em}.history-list{background:#fff;border:1px solid #e0e8ec}.history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 24px;border-bottom:1px solid #e8eef1}.history-row:last-child{border-bottom:0}.history-when{display:flex;flex-direction:column;gap:3px}.history-when strong{font-size:15px;font-weight:700}.history-when time{color:#68747a;font-size:13px}.history-who{max-width:45%;overflow-wrap:anywhere;text-align:right;font-size:15px;font-weight:600}.history-empty{padding:55px 20px;text-align:center;font-size:16px}.load-more{display:block;margin:22px auto;padding:10px 16px;border:1px solid #cfdbe1;border-radius:4px;background:#fff;color:#245f82;font-weight:700}.lock-view{padding-top:65px}.lock-view h1{margin:0 0 32px;font-size:32px;line-height:1.2;letter-spacing:-.035em}.lock-card{padding:28px;background:#fff;border:1px solid #e0e8ec}.lock-code-display{min-height:48px;font-size:32px;font-weight:700;letter-spacing:.12em;overflow-wrap:anywhere}.lock-updated{margin:6px 0 0;color:#68747a;font-size:13px}.lock-actions{display:flex;gap:12px;margin-top:26px}.lock-actions button{flex:1;min-height:50px;padding:10px 14px}.lock-note{margin:15px 0 0;color:#68747a;font-size:13px;line-height:1.5}.qr-view{padding-top:65px}.qr-view h1{margin:0 0 32px;font-size:32px;line-height:1.2;letter-spacing:-.035em}.qr-card{padding:28px;background:#fff;border:1px solid #e0e8ec;text-align:center}.qr-card p{margin:0 0 14px;font-size:18px;font-weight:700}.qr-card img{display:block;width:min(100%,400px);height:auto;margin:0 auto}.qr-url{margin:14px 0 26px;color:#4e5a60;font-size:14px;overflow-wrap:anywhere}.qr-actions{display:flex;justify-content:center;gap:12px}.qr-actions a,.qr-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;min-width:130px;padding:10px 16px;text-decoration:none}.check-dialog{width:min(100% - 32px,430px);max-height:calc(100dvh - 32px);overflow:auto;padding:34px;border:0;border-top:5px solid #3b9bd6;border-radius:14px;box-shadow:0 20px 65px #142f3f4d}.check-dialog::backdrop{background:#122b3aac}.check-dialog form{position:relative}.check-dialog h2{margin:0 0 30px;font-size:25px;line-height:1.3;letter-spacing:-.035em}.dialog-close{position:absolute;top:-10px;right:-5px;padding:0 6px;border:0;background:transparent;color:#5f6c73;font-size:29px;line-height:1}.input-help{margin:9px 0 0;color:#66737a;font-size:12px}.dialog-actions{display:flex;gap:10px;margin-top:29px}.dialog-actions button{min-height:49px;flex:1;padding:0 11px;font-size:14px}#check-dialog .dialog-actions .primary-button{flex:1.6;border-radius:6px;box-shadow:0 2px #963300,0 3px 8px #8d35031c}#check-dialog .dialog-actions .primary-button:active{transform:translateY(1px);box-shadow:0 1px #963300}#check-dialog .dialog-actions .secondary-button{border-radius:6px;color:#53616a;font-weight:600}.secondary-button{border:1px solid #cbd6dc;border-radius:4px;background:#fff;color:#333;font-weight:700}.secondary-button:hover{background:#f2f6f8}@media(max-width:600px){.topbar{height:68px;padding:0 18px}.topbar strong{font-size:18px}.content-area{padding:0 22px 56px}.dashboard-view{padding-top:78px}.latest-content{margin-bottom:96px}.latest-content h1{font-size:25px}.latest-time{font-size:32px}.latest-meta{font-size:17px}.check-button{min-height:70px;font-size:18px}.history-view,.lock-view,.qr-view{padding-top:39px}.history-view h1,.lock-view h1,.qr-view h1{font-size:29px}.history-row{padding:17px}.lock-card,.qr-card{padding:20px}.lock-code-display{font-size:28px}.qr-actions{flex-direction:column}.qr-actions a,.qr-actions button{width:100%}.passcode-card{padding:28px}.passcode-card h1{font-size:27px}}@media(max-height:700px){.lock-screen{padding:12px}.passcode-card{padding:22px}.passcode-card h1{margin-bottom:15px}.passcode-card .keypad{margin-top:20px;row-gap:14px}.passcode-card .keypad button{width:min(64px,100%);font-size:27px}}@media(prefers-reduced-motion:reduce){.passcode-dots.invalid{animation:none}.check-button,.passcode-dots span{transition:none}}@media print{body.qr-print{background:#fff}body.qr-print .topbar,body.qr-print #dashboard-view,body.qr-print #history-view,body.qr-print #lock-view,body.qr-print .qr-actions,body.qr-print .back-button{display:none!important}body.qr-print .content-area{max-width:none;padding:0}body.qr-print .qr-view{padding:0}body.qr-print .qr-view h1{text-align:center}body.qr-print .qr-card{border:0;padding:0}body.qr-print .qr-card img{width:125mm;max-width:100%}body.qr-print .qr-url{font-size:15px}}
