:root{--white:#fff;--grey:#6f6f6e;--black:#333;--primary:#f36633;--font-family:"GSK",sans-serif;--font-light:400;--font-normal:400;--font-bold:700;--font-sm:13px;--font-md:16px;--font-lg:24px;--font-xl:40px}@media screen and (max-width:420px){:root{--font-xl:32px}}@font-face{font-family:GSK;src:url(fonts/GSKPrecision-Light.eot);src:url(fonts/GSKPrecision-Light.eot?#iefix) format("embedded-opentype"),url(fonts/GSKPrecision-Light.woff2) format("woff2"),url(fonts/GSKPrecision-Light.woff) format("woff"),url(fonts/GSKPrecision-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:GSK;src:url(fonts/GSKPrecision-Regular.eot);src:url(fonts/GSKPrecision-Regular.eot?#iefix) format("embedded-opentype"),url(fonts/GSKPrecision-Regular.woff2) format("woff2"),url(fonts/GSKPrecision-Regular.woff) format("woff"),url(fonts/GSKPrecision-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:GSK;src:url(fonts/GSKPrecision-Bold.eot);src:url(fonts/GSKPrecision-Bold.eot?#iefix) format("embedded-opentype"),url(fonts/GSKPrecision-Bold.woff2) format("woff2"),url(fonts/GSKPrecision-Bold.woff) format("woff"),url(fonts/GSKPrecision-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}a,abbr,acronym,address,applet,big,blockquote,body,caption,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,figure,font,form,h1,h2,h3,h4,h5,h6,html,iframe,ins,kbd,legend,li,object,ol,p,pre,q,s,samp,small,span,strike,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,tt,ul,var{border:0;margin:0;outline:0;padding:0;vertical-align:baseline}*,:after,:before{box-sizing:border-box}html{font-size:62.5%}body,html{overflow-x:hidden}body{color:var(--grey);font-family:var(--font-family);font-size:var(--font-md);font-weight:var(--font-normal);line-height:1.4}a{color:inherit}a,sup{text-decoration:none}sup{position:relative;bottom:1px;font-size:.7em;line-height:.7em;vertical-align:super}@keyframes slideInFade{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}.home{background-color:#f8ede2;background-image:url(images/background.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:24px}.home .container{max-width:600px;width:100%;opacity:0;transform:translateY(64px);animation:slideInFade 1s ease-in-out forwards}.home .logo{position:absolute;inset:32px 32px auto auto}.home .logo img{height:24px;width:auto}.home h1{font-size:var(--font-xl);font-weight:var(--font-normal);text-align:center;margin-bottom:40px}.home .calendar-buttons{gap:24px}.home .calendar-buttons,.home .calendar-buttons form{align-items:center;display:flex;justify-content:center}.home .calendar-buttons form{flex-direction:column;gap:16px}.home .calendar-buttons .calendar-button{align-items:center;background:var(--white);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.1);display:flex;flex-shrink:0;height:104px;justify-content:center;width:104px}.home .calendar-buttons .calendar-button img{height:auto;width:60%}@media screen and (max-width:420px){.home .calendar-buttons .calendar-button{height:88px;width:88px}}.admin{background-color:#f8ede2;background-image:url(images/background.jpg);min-height:100vh}.admin .container{margin:0 auto;max-width:1200px;padding:56px 24px}.admin h2{color:var(--black);margin-bottom:24px;font-size:var(--font-lg)}.admin .header{display:flex;align-items:center;gap:32px;margin-bottom:56px}.admin .header h1{font-size:var(--font-xl);font-weight:var(--font-normal)}.admin .logout{background-color:rgba(0,0,0,.05);color:var(--grey);padding:8px 12px;border-radius:8px;font-size:var(--font-sm);text-decoration:none}.admin .logout:hover{background:rgba(0,0,0,.15)}.admin .period-selector{margin-bottom:24px}.admin .period-buttons{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.admin .period-button{padding:8px 16px;background-color:var(--white);box-shadow:0 2px 6px rgba(0,0,0,.1);border-radius:8px;cursor:pointer;font-weight:var(--font-normal);text-decoration:none}.admin .period-button.active{background:var(--primary);color:var(--white)}.admin .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:24px}.admin .card{background:#fff;padding:32px;border-radius:16px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.admin .label{font-size:var(--font-md);font-weight:var(--font-normal);margin-bottom:10px}.admin .stat-value{color:#333;font-size:var(--font-xl);font-weight:var(--font-bold)}.admin .calendar-breakdown{margin-bottom:24px}.admin .calendar-item{align-items:center;display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #f0f0f0}.admin .calendar-item:last-child{border-bottom:none}.admin .calendar-name{align-items:center;display:flex;gap:16px}.admin .calendar-name img{height:24px;width:auto}.admin .calendar-count{background:var(--primary);border-radius:24px;color:var(--white);font-weight:var(--font-bold);padding:4px 16px}.admin .daily-item{display:grid;grid-template-columns:120px 1fr 1fr;gap:20px;padding:12px 0;border-bottom:1px solid #f0f0f0;align-items:center}.admin .daily-item:last-child{border-bottom:none}.admin .daily-date{font-weight:500;color:#666}.auth{align-items:center;background-color:#f8ede2;background-image:url(images/background.jpg);display:flex;justify-content:center;min-height:100vh;padding:24px}.auth .container{background:var(--white);border-radius:24px;box-shadow:0 24px 64px rgba(0,0,0,.2);padding:40px;max-width:400px;width:100%}.auth h1{color:var(--black);font-size:var(--font-lg);font-family:var(--font-family);margin-bottom:32px;text-align:center}.auth .form-group,.auth .subtitle{margin-bottom:24px}.auth label{display:block;margin-bottom:8px}.auth input[type=email],.auth input[type=password]{width:100%;padding:16px;border:1px solid #e0e0e0;border-radius:8px;font-size:var(--font-md);transition:border-color .3s}.auth input[type=email]:focus,.auth input[type=password]:focus{outline:none;border-color:var(--primary)}.auth .btn{border:none;border-radius:8px;background:var(--primary);color:var(--white);cursor:pointer;font-size:var(--font-md);font-weight:var(--font-bold);font-family:var(--font-family);transition:transform .2s;padding:16px;width:100%}.auth .btn:hover{transform:translateY(-2px)}.auth .btn:active{transform:translateY(0)}.auth .error{background:#fee;color:#c33}.auth .error,.auth .success{padding:12px;border-radius:8px;margin-bottom:24px;text-align:center}.auth .success{background:#efe;color:#3c3}.auth .action{text-align:center;margin-top:16px}.auth .action a{text-decoration:none;font-size:14px}.auth .action a:hover{text-decoration:underline}