:root{
 --gyc-cyan:#20b2df;--gyc-sky:#4bbcea;--gyc-blue:#087a9e;--gyc-blue-hover:#066582;
 --gyc-ink:#35464a;--gyc-gray:#515d5a;--gyc-muted:#62747c;--gyc-line:#dce5ea;
 --gyc-surface:#f3f7fa;--gyc-tint:#eaf7fc;
}
body{background:var(--gyc-surface);color:var(--gyc-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
button{color:#3b5662;border-color:var(--gyc-line);transition:background-color .15s,border-color .15s}
button:hover{background:var(--gyc-tint);border-color:#acd8e8}
.primary,#admin-panel .primary{background:var(--gyc-blue);border-color:var(--gyc-blue);color:#fff;box-shadow:none}
.primary:hover,#admin-panel .primary:hover{background:var(--gyc-blue-hover);border-color:var(--gyc-blue-hover)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--gyc-blue)}
input,select,textarea{accent-color:var(--gyc-blue)}
body>header{height:80px;background:#fff;color:var(--gyc-ink);border-bottom:1px solid var(--gyc-line);padding:0 28px;gap:12px}
.brand{display:flex;align-items:center;gap:22px;margin-right:auto;min-width:0;letter-spacing:normal}
.brand img{display:block;width:154px;height:76px;object-fit:contain;flex-shrink:0}
.brand small{margin:0;padding-left:22px;border-left:1px solid var(--gyc-line);font-size:10px;font-weight:650;letter-spacing:1.8px;color:var(--gyc-gray);white-space:nowrap}
header button{color:var(--gyc-blue);background:#fff;border-color:var(--gyc-line);font-size:12px}
header button:hover{background:var(--gyc-tint);border-color:#acd8e8}
#identity{font-size:12px;color:var(--gyc-muted)}
body:has(#login-panel:not([hidden])){background:radial-gradient(ellipse at 50% 0%,#e6f6fc 0%,var(--gyc-surface) 65%);overflow:auto}
body:has(#login-panel:not([hidden]))>header{display:none}
.login{width:calc(100% - 40px);max-width:440px;flex-shrink:0;margin:auto;padding:28px 40px 32px;background:#fff;border:1px solid #e2eaf0;border-radius:22px;box-shadow:0 12px 42px #35464a0a;text-align:center;overflow:visible}
.login-logo{display:block;width:238px;height:auto;max-width:100%;margin:0 auto 10px}
.login h1{font-size:29px;font-weight:650;letter-spacing:-.8px;line-height:1.2;margin:12px 0}
.login p{color:var(--gyc-muted);font-size:13px;line-height:1.65;margin:0 auto;max-width:310px}
.login form{gap:20px;margin-top:28px;text-align:left}
.login label{font-size:12px;font-weight:600;gap:8px}
.login input{padding:13px;border-radius:9px;border-color:var(--gyc-line);color:var(--gyc-ink)}
.login form button{padding:13px;border-radius:9px;font-weight:600}
.login .muted{font-size:11px;margin-top:24px;color:#74848b}
.history{background:#f5f8fa}.day.current{background:var(--gyc-tint);border-color:#a9d6e6;box-shadow:inset 3px 0 var(--gyc-cyan)}
.day-date{color:#305563}.badge:not(.historical){color:var(--gyc-blue)}
.notice:not(.warning){background:#f6fafc;border-left-color:var(--gyc-sky)}
.admin-hero .eyebrow,#admin-breadcrumb button,.admin-card-footer .admin-card-link{color:var(--gyc-blue)}
.admin-project-cover{background:#285462}
.admin-project-cover:before{background:radial-gradient(ellipse at 100% 0%,#20b2df42,transparent 65%),repeating-radial-gradient(ellipse at 115% 135%,transparent 0 22px,#86d5ed1f 23px 24px,transparent 25px 42px)}
.admin-project-cover .admin-icon{color:#c5edfb}.admin-project-heading .admin-card-eyebrow{color:#c0dce6}
.admin-project-cover .admin-badge{background:#e0f4fc;color:#285769}
.admin-icon,.admin-avatar{background:var(--gyc-tint);border-color:#d0e8f2;color:var(--gyc-blue)}
.admin-stat strong,.admin-card-metrics strong{color:#285462}
body.focus-mode #focus-mode{background:var(--gyc-tint);border-color:#acd8e8}
@media(max-width:700px){
 body>header{height:auto;min-height:70px;padding:4px 14px;gap:7px;flex-wrap:wrap}
 .brand{flex:1 1 45%;gap:10px}.brand img{width:124px;height:65px}.brand small{display:none}
 #identity{flex:1 1 40%;text-align:right;margin:0;font-size:11px}
 header button{flex:1;padding:9px;margin-bottom:7px}
 .login{margin:30px auto;padding:22px 26px 28px;border-radius:18px}
 .login-logo{width:214px}.login h1{font-size:27px}
}
@media(min-width:701px) and (max-height:730px){.login{margin:24px auto;padding-top:18px;padding-bottom:24px}.login-logo{width:200px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
