:root{font-family:"Segoe UI",Arial,sans-serif;color:#f4f6f7;background:#10191c;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}main{max-width:560px;margin:auto;padding:20px 18px 60px}header{display:flex;align-items:center;gap:14px;margin-bottom:24px}header img{width:80px;height:48px;object-fit:contain}header div{flex:1}header strong{color:#ffc260;font-size:22px}header span{display:block;font-size:14px;color:#bcc8ce}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #43525a;background:#24343b;color:#f4f6f7;border-radius:10px;padding:11px 14px;min-height:44px}button:disabled{opacity:.5}button:focus-visible{outline:2px solid #ffc260}input,select,textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #53636b;background:#152126;color:#fff;border-radius:9px;color-scheme:dark}textarea{min-height:100px}label{display:block;margin:16px 0;font-size:14px}h1{font-size:25px}h2{font-size:19px;margin:0 0 12px}p{margin:8px 0 14px}.primary{background:#f29f18;color:#252525;border:0;font-weight:600;width:100%}.secondary{width:100%}nav{display:flex;gap:8px;margin-bottom:20px}nav button{flex:1;font-size:14px;padding:9px}nav .active{border-color:#f29f18;color:#ffc260}.card{border:1px solid #3b4b52;border-radius:13px;padding:17px;margin:14px 0;background:#1c2a30}.muted{color:#bdc8ce;font-size:14px}.tag{font-size:13px;color:#ffc260}.card button{margin-top:8px}.error{color:#ff9ba5;font-size:14px}.error:empty{display:none}dialog{width:calc(100% - 24px);max-width:540px;max-height:92vh;border:1px solid #43525a;border-radius:16px;padding:20px;background:#1c2a30;color:#f4f6f7}dialog::backdrop{background:#000b}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head button{font-size:24px;padding:0 10px}.gps{border-top:1px solid #43525a;margin-top:18px;padding-top:15px}.signature{width:100%;height:160px;background:white;border-radius:8px;touch-action:none;border:1px solid #6c7b82}.check{display:flex;align-items:flex-start;gap:10px}.check input{width:20px;flex-shrink:0;margin:4px 0}.actions{display:flex;gap:8px;margin:10px 0}.actions button{flex:1;font-size:14px}.signature-image{max-width:100%;background:white}[hidden]{display:none!important}#message{font-size:14px;color:#ffd18b}

/* Suvela mobile: quiet night sky */
:root{background:#080c14;color:#eef2fa;font-family:"Segoe UI",Arial,sans-serif;line-height:1.55}
body{min-height:100vh;background:radial-gradient(ellipse at 75% 0%,#18233880 0,transparent 45%),radial-gradient(ellipse at 0% 70%,#121a3040 0,transparent 45%),#080c14}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.55;background-image:radial-gradient(1px 1px at 8% 9%,#b8ccef 90%,transparent),radial-gradient(1px 1px at 71% 7%,#dce7ff 90%,transparent),radial-gradient(1px 1px at 93% 18%,#8aa0c7 90%,transparent),radial-gradient(1px 1px at 21% 27%,#acbdda 90%,transparent),radial-gradient(1px 1px at 59% 32%,#c6d6f0 90%,transparent),radial-gradient(1px 1px at 87% 43%,#acbdda 90%,transparent),radial-gradient(1px 1px at 5% 55%,#dce7ff 90%,transparent),radial-gradient(1px 1px at 37% 61%,#8aa0c7 90%,transparent),radial-gradient(1px 1px at 72% 73%,#c6d6f0 90%,transparent),radial-gradient(1px 1px at 18% 85%,#acbdda 90%,transparent),radial-gradient(1px 1px at 95% 92%,#dce7ff 90%,transparent);background-size:100% 760px}
main{position:relative;z-index:1;max-width:560px;padding:28px 20px 60px}header{gap:14px;padding:0 4px 20px;margin-bottom:22px;border-bottom:1px solid #ffffff10}header img{width:76px;height:46px}header strong{font-size:24px;letter-spacing:1.3px;color:#ecd4a4;font-weight:500}header span{color:#a4afc2;font-size:14px}header button{font-size:13px;border:0;background:transparent;padding:8px;color:#a4afc2}
h1{font-size:22px;letter-spacing:-.5px;font-weight:500;margin:26px 0 14px}h2{font-size:19px;font-weight:550;letter-spacing:-.3px;line-height:1.35;margin:9px 0 12px}.muted{color:#a6b2c6}.tag{color:#d9c59b;font-size:13px;letter-spacing:.2px}
nav{background:#111827b3;border:1px solid #a0b6e21a;padding:5px;gap:4px;border-radius:15px;margin-bottom:24px}nav button{border:0;background:transparent;border-radius:10px;color:#a6b2c6;font-size:14px}nav .active{color:#f4f5fa;background:#28324780;box-shadow:0 1px 4px #0003}nav #refresh{flex:0 0 auto;font-size:13px;padding:10px 12px}
.card{background:linear-gradient(145deg,#182131e8,#101722f5);border:1px solid #a0b6e225;border-radius:18px;padding:21px;margin:15px 0;box-shadow:0 12px 32px #0002}.card p{margin:10px 0 16px}.attendance-card{border-color:#d9bd831f;background:linear-gradient(130deg,#262533b3,#141c2bef)}.attendance-card h2{font-size:18px}.attendance-card .primary,.attendance-card .secondary{width:auto;min-width:136px}.visit-card{border-left:2px solid #c8ad74}
button{background:#25304470;border:1px solid #9aaecd35;color:#e3e9f5;border-radius:11px;min-height:46px;font-size:15px}.primary{background:#dac295;color:#181b24;font-weight:600;border:1px solid #e7d3ae;box-shadow:none}.primary:hover{background:#ead3a8}.secondary{background:#16203380;color:#dce5f5;border-color:#9aaecd30}button:focus-visible{outline:2px solid #dec89e;outline-offset:3px}.job-card>.secondary{background:transparent;font-size:14px;color:#cfdaee;border-color:#a0b6e225}
input,select,textarea{background:#0e1521;border:1px solid #879fc332;color:#eef2fa;border-radius:10px;padding:12px}input:focus,select:focus,textarea:focus{outline:2px solid #dec89e;outline-offset:2px}label{color:#c2cbda}dialog{background:#101825;border:1px solid #a0b6e236;border-radius:20px;box-shadow:0 28px 80px #0008;padding:22px}dialog::backdrop{background:#03060dcc;backdrop-filter:blur(5px)}.dialog-head{margin-bottom:12px}.dialog-head h2{font-size:20px}.dialog-head button{background:transparent;border:0;color:#a6b2c6;font-size:26px}.gps{border-color:#a0b6e225}.signature{border-color:#71819a;box-shadow:0 0 0 4px #ffffff05}summary{color:#c6d1e4;cursor:pointer;font-size:14px;padding:8px 0}.error{color:#f0a6ac}#message{color:#dcc69c;padding:0 3px}.check{color:#c2cbda}
@media(max-width:360px){main{padding:20px 14px 45px}.card{padding:17px}header{gap:10px}header img{width:65px}nav button{padding:9px}}

.mobile-menu{display:grid;gap:15px;margin-top:30px}.mobile-menu button{text-align:left;padding:23px 22px;background:linear-gradient(140deg,#182131df,#111925ee);border:1px solid #a0b6e226;border-radius:17px;min-height:102px}.mobile-menu strong{display:block;font-size:20px;font-weight:500;color:#eef2fa;letter-spacing:-.3px}.mobile-menu span{display:block;font-size:14px;color:#a6b2c6;margin-top:6px}.mobile-menu button:hover{border-color:#d9c59b66}.back-home{background:transparent;border:0;padding:8px 0;color:#d9c59b;min-height:44px}

/* App shell: one type scale, matching line icons and thumb navigation. */
:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45;-webkit-tap-highlight-color:transparent}body{overscroll-behavior-y:none}main{max-width:480px;min-height:100dvh;padding:calc(16px + env(safe-area-inset-top)) 18px calc(100px + env(safe-area-inset-bottom))}header{position:sticky;top:0;z-index:5;background:#080c14ed;backdrop-filter:blur(18px);padding:12px 0 16px;margin-bottom:20px}header img{width:54px;height:34px}header strong{font-family:inherit;font-weight:650;font-size:21px;letter-spacing:.3px}header span{font-size:12px}h1{font-size:24px;font-weight:650}h2{font-weight:600}.card{border-radius:20px;padding:18px;box-shadow:none}button{font-weight:550;touch-action:manipulation}button:active{transform:scale(.98)}.mobile-menu{gap:12px;margin-top:24px}.mobile-menu button{position:relative;min-height:90px;padding:20px 18px 20px 70px}.mobile-menu svg{position:absolute;left:22px;top:29px;width:27px;height:27px;color:#dac295}.mobile-menu strong{font-size:18px;font-weight:600}.mobile-menu span{font-size:13px}.app-tabs{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;margin:0;padding:10px 8px calc(10px + env(safe-area-inset-bottom));background:#0d1421f5;backdrop-filter:blur(22px);border:0;border-top:1px solid #ffffff12;border-radius:0;display:flex;gap:4px}.app-tabs button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-height:54px;font-size:11px;font-weight:550;padding:5px;background:transparent;border:0;color:#98a6bc}.app-tabs svg{width:23px;height:23px}.app-tabs button.active{color:#e4cda4;background:#dac2950c;box-shadow:none}.back-home{font-size:13px}dialog{width:100%;max-width:480px;max-height:94dvh;margin:auto auto 0;border-radius:24px 24px 0 0;padding:22px 20px calc(24px + env(safe-area-inset-bottom))}.dialog-head{position:sticky;top:-22px;background:#101825;padding-top:8px;z-index:2}.signature{height:180px}@media(min-width:600px){main{border-inline:1px solid #ffffff10}dialog{margin:auto;border-radius:24px}}

/* Suvela: a quiet mountain horizon, with navigation only on Home. */
main{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.summit-home{padding-top:4px}.mountain-scene{position:relative;height:170px;margin:0 -18px 26px;overflow:hidden;mask-image:linear-gradient(#000 60%,transparent)}.mountain-scene svg{width:100%;height:100%;object-fit:cover;opacity:.75}.summit-star{position:absolute;top:21px;left:72%;width:3px;height:3px;background:#eadbbd;border-radius:50%;box-shadow:0 0 12px #eadbbd80}.home-eyebrow{font-size:10px;letter-spacing:3px;color:#bca982;margin:0 0 10px}.summit-home h1{font-size:27px;letter-spacing:-.8px;line-height:1.2;margin:0 0 10px;font-weight:600}.home-intro{font-size:14px;color:#a6b2c6;margin:0 0 22px}.day-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#a6b2c6;padding-bottom:22px;border-bottom:1px solid #ffffff0e}.day-status>span:last-child{margin-left:auto}.status-dot{width:6px;height:6px;border-radius:50%;background:#68758a}.status-dot.started{background:#b4cba4}.home-actions{display:grid;margin-top:20px;gap:2px}.home-actions button{display:flex;align-items:center;gap:16px;text-align:left;border:0;border-bottom:1px solid #ffffff0c;border-radius:0;background:transparent;padding:20px 2px;min-height:86px}.home-actions svg{width:24px;height:24px;color:#c9b58f;flex-shrink:0}.home-actions span{font-size:16px;font-weight:550;flex:1}.home-actions small{display:block;font-size:12px;color:#8f9db3;font-weight:400;margin-top:6px}.home-actions b{font-weight:400;font-size:22px;color:#65748c}.home-actions button:active{background:#ffffff04;transform:none}.back-home{color:#bca982}.app-tabs{display:none}

header{gap:12px}header img{width:88px;height:54px;flex-shrink:0}header strong{font-size:20px}header div{min-width:0}header span{overflow-wrap:anywhere}header #sign-out{min-width:76px;min-height:48px;padding:12px 10px;font-size:14px;border-radius:12px;color:#bdc8d9;background:#ffffff04}.back-home{display:inline-flex;align-items:center;gap:8px;min-width:88px;min-height:48px;padding:10px 12px;margin-left:-12px;font-size:14px;border-radius:12px}.back-home svg{width:23px;height:23px}.dialog-head #close-action{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-height:48px;flex-shrink:0}.dialog-head #close-action svg{width:24px;height:24px}input,select,textarea{font-size:16px}main{width:100%}.card,.home-actions,.day-status{min-width:0}.card h2,.card p{overflow-wrap:anywhere}.mountain-scene{height:clamp(135px,38vw,170px)}@media(max-width:360px){header{gap:8px}header img{width:76px;height:48px}header strong{font-size:18px}header #sign-out{min-width:68px;padding:10px 7px}.summit-home h1{font-size:25px}.day-status>span:last-child{margin-left:14px}}
