:root{--navy:#102338;--navy2:#1b3854;--accent:#137b85;--accent2:#0e6671;--paper:#f4f7fa;--white:#fff;--ink:#1b2a3a;--muted:#6d7b8c;--border:#e2e9ef;--green:#0b8060;--red:#c23c43;--shadow:0 7px 28px rgba(15,40,63,.055)}
*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:15px;color:var(--ink);background:var(--paper)}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:1.65rem;letter-spacing:-.025em}h2{font-size:1.14rem;letter-spacing:-.015em}p{line-height:1.6;color:#526273}.shell{min-height:100vh;display:flex}.sidebar{width:244px;flex:none;background:var(--navy);color:#e7eff8;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:1.15rem;font-weight:800;letter-spacing:-.02em;padding:25px 20px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:.68rem;letter-spacing:.05em;font-weight:500;opacity:.7;margin-top:3px}.brand-icon{background:#2c9da3;color:#fff;width:39px;height:39px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;flex:none}.nav{display:flex;flex-direction:column;gap:4px;padding:10px 12px;flex:1}.nav a{color:#d0dce8;padding:12px 13px;border-radius:10px;font-size:.92rem}.nav a:hover,.nav a:focus{background:rgba(255,255,255,.10);color:#fff;text-decoration:none}.sidebar-foot{padding:19px 21px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:5px}.sidebar-foot small{opacity:.65}.link-button{border:0;background:none;padding:10px 0;color:#8de1e0;text-align:left;font-size:.88rem}.content{flex:1;min-width:0;padding:35px clamp(16px,3vw,46px) 55px;max-width:1700px}.mobile-top{display:none}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:23px}.page-heading h1{margin-bottom:6px}.page-heading p{margin:0;color:var(--muted)}.card{background:var(--white);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:24px;margin-bottom:20px;min-width:0}.card h2{margin-bottom:14px}.narrow{max-width:630px}.stack{display:flex;flex-direction:column;gap:15px}.stack label,.form-grid label,.toolbar label{display:flex;flex-direction:column;gap:7px;font-size:.87rem;font-weight:650;color:#3a4d61}input,select,textarea{width:100%;border:1px solid #cdd9e2;background:#fff;color:var(--ink);border-radius:9px;padding:11px 12px;min-height:43px;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(19,123,133,.13)}input[type=date]{min-width:140px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:1px solid var(--accent);padding:11px 17px;min-height:43px;border-radius:9px;font-weight:700;font-size:.92rem;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--accent2);color:#fff;text-decoration:none}.btn:disabled{opacity:.6;cursor:wait}.btn.outline{background:#fff;color:var(--accent);border-color:#a6cdd0}.btn.outline:hover{background:#eef8f8}.btn.small{min-height:36px;padding:8px 12px;font-size:.84rem}.btn.wide{width:100%}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid-two>.card{margin-bottom:0}.grid-two+.card{margin-top:20px}.admin-grid{grid-template-columns:1.2fr .8fr}.mode-heading{display:flex;align-items:center;gap:13px;margin-bottom:18px}.mode-heading h2{margin:0 0 5px}.mode-heading p{margin:0;font-size:.88rem}.mode-icon{display:grid;place-items:center;width:52px;height:52px;flex:none;background:#e4f4f1;color:#0e8268;font-size:1.8rem;border-radius:13px}.mode-icon.blue{background:#e8f0fb;color:#1f5c9b}.mode-icon.green{background:#e7f7ee;color:#0c8a62}.steps{display:flex;flex-direction:column;gap:10px;color:#50657a;line-height:1.55;margin:12px 0}.hint{font-size:.82rem;color:#7b8997;margin:15px 0 0}.warning-text{color:#a75e19}.gps-status{background:#f1f7fa;border:1px dashed #bfd5e0;color:#526e80;padding:13px;border-radius:10px;font-size:.87rem;line-height:1.5}.gps-status.ok{border-color:#92d6bf;background:#effbf5;color:#08744f}.gps-status.error{border-color:#edb0b0;background:#fff4f3;color:#a12e35}.success-symbol{display:grid;place-items:center;background:#e1f6ed;color:#12845d;border-radius:50%;width:65px;height:65px;font-size:2rem;margin-bottom:14px}.big-time{font-size:2.7rem;font-weight:800;letter-spacing:-.04em;color:var(--navy);margin:10px 0}.status-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.86rem}.badge{display:inline-block;border-radius:100px;padding:5px 10px;background:#eef1f5;color:#526476;font-weight:700;font-size:.77rem;white-space:nowrap}.badge.good{background:#e4f6eb;color:#087348}.badge.bad{background:#fdecee;color:#b72f3b}.badge.neutral{background:#eef1f5;color:#526476}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 20px}.stat{border:1px solid var(--border);background:#fff;border-radius:15px;padding:20px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}.stat span{color:#66788a;font-size:.85rem;font-weight:650}.stat strong{font-size:2rem;color:var(--navy);line-height:1}.stat small{color:#9aa7b5}.toolbar{display:flex;align-items:end;gap:11px;flex-wrap:wrap;margin:0 0 20px}.toolbar input{min-width:175px}.table-wrap{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;min-width:610px;font-size:.88rem}th,td{padding:13px 12px;border-bottom:1px solid #e9eef2;text-align:left;vertical-align:top}th{background:#f8fafb;color:#617287;font-size:.77rem;text-transform:uppercase;letter-spacing:.025em;font-weight:800}td strong{color:#283d52}tbody tr:last-child td{border-bottom:0}.table-sub{display:block;color:#8a99a7;font-size:.75rem;margin-top:4px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.section-head h2{margin:0}.muted{color:#8392a1;font-size:.86rem}.alert{padding:13px 16px;border-radius:11px;margin-bottom:19px;border:1px solid #e4eaf0;background:#fff;color:#42566a;line-height:1.5}.alert.success{border-color:#b6e7cb;background:#effbf5;color:#087348}.alert.error{border-color:#f2c5c7;background:#fff0f1;color:#ad3540}.alert.info{border-color:#c2dce9;background:#eef7fc;color:#27566d}.qr-card{text-align:center;max-width:620px;margin:0 auto 20px}.qr-card h2{margin-top:8px}.qr-image{display:flex;justify-content:center}.qr-image img{max-width:100%;width:360px;height:auto;image-rendering:pixelated}.qr-timer{font-weight:700;color:#5d7787;margin:18px 0}.qr-card:fullscreen{max-width:none;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}.qr-card:fullscreen .qr-image img{width:min(60vh,540px)}.settings-list{display:flex;flex-direction:column;gap:0}.settings-list>div{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #e7edf2}.settings-list span{color:#6d7f90}.settings-list strong{text-align:right}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .full{grid-column:1/-1}.divider-line{border-top:1px solid var(--border)}details summary{color:var(--accent);cursor:pointer;white-space:nowrap}.detail-forms{min-width:240px;max-width:310px;margin-top:12px;display:flex;flex-direction:column;gap:16px}.detail-forms form{border-top:1px solid var(--border);padding-top:12px}.auth-content{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}.login-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:34px;width:100%;max-width:430px;box-shadow:0 18px 50px rgba(19,49,70,.08)}.login-brand{padding:0 0 30px;color:var(--navy)}.login-card h1{margin-bottom:6px}.login-card p{color:#6b7e90}.install-page{background:var(--paper)}.install-wrap{max-width:750px;margin:30px auto;padding:10px}.install-wrap>.brand{color:var(--navy)}.install-wrap .card{padding:30px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two{grid-template-columns:1fr}.grid-two>.card{margin-bottom:0}.admin-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sidebar{position:fixed;left:-270px;top:0;bottom:0;z-index:100;transition:left .22s;box-shadow:0 20px 35px rgba(0,0,0,.1)}body.menu-open .sidebar{left:0}.content{padding:0 14px 32px}.mobile-top{display:flex;justify-content:space-between;align-items:center;background:var(--navy);margin:0 -14px 22px;padding:0 12px;color:#fff}.mobile-top .brand{padding:12px 4px;font-size:1rem}.mobile-top .brand-icon{width:33px;height:33px;font-size:1.1rem}#menu-toggle{background:transparent;border:0;color:#fff;font-size:1.65rem;padding:9px 12px}.page-heading h1{font-size:1.45rem}.card{padding:17px;border-radius:13px}.stats{gap:10px}.stat{padding:14px}.stat strong{font-size:1.65rem}.stat span{font-size:.78rem}.grid-two,.admin-grid{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar label{width:100%}.toolbar input{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.login-card{padding:24px}.install-wrap{margin:10px auto}.install-wrap .card{padding:20px}}

/* v1.0.2: Personel iş yeri QR tarayıcı */
[hidden]{display:none!important}
.scanner-description{font-size:.91rem;margin:0 0 14px}
.office-scanner{margin-top:15px;display:flex;flex-direction:column;gap:12px}
.scanner-camera{position:relative;width:100%;max-height:400px;aspect-ratio:4/3;overflow:hidden;border-radius:13px;background:#071a27;border:2px solid #c7d8e0}
.scanner-camera video{display:block;width:100%;height:100%;object-fit:cover}
.scanner-target{position:absolute;inset:15%;border:3px solid #74f1c5;border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.18);pointer-events:none}
.office-scanner .gps-status{margin:0}
@media(max-width:760px){.scanner-camera{max-height:330px}}

/* v1.0.3: öğle molası çıkış / dönüş GPS kartı */
.lunch-panel{margin-top:20px;border-color:#c7e6db;background:linear-gradient(180deg,#fafffd,#fff 55%)}
.lunch-panel .mode-heading{margin-bottom:14px}
.lunch-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#f3f8f8;border:1px solid #dbece7;padding:14px;border-radius:11px;margin-bottom:14px}
.lunch-summary>span:not(.badge){color:#657887;font-size:.88rem}
.lunch-summary>strong{font-size:1.12rem;color:#154e56;margin-right:10px}
.lunch-panel .status-line{margin:14px 0}
@media(max-width:760px){.lunch-summary{gap:8px}.lunch-panel{margin-top:15px}}

/* v1.0.4: one-time activation code and mobile device enrollment */
.spaced-top{margin-top:15px}
.activation-code-card{border:2px solid #a6d8c6;background:#f5fcf9}
.activation-code{font-size:clamp(2rem,6vw,3.2rem);letter-spacing:.15em;font-weight:800;color:#104d55;padding:12px 0;font-variant-numeric:tabular-nums}
#device-status,#device-login-status{margin:14px 0}
@media(max-width:760px){.activation-code{font-size:2rem}}
