:root {
  --ink:#1d1a17;
  --muted:#756d64;
  --paper:#f6f1e9;
  --card:#fffdf9;
  --line:#e7ded2;
  --gold:#b9955d;
  --gold-dark:#8f7042;
  --charcoal:#15130f;
  --cream:#efe4d3;
  --shadow:0 18px 50px rgba(40,32,22,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper)}
button,input{font:inherit}.hidden{display:none!important}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,560px) 1fr;background:#f4eee5}
.login-card{padding:56px 68px;display:flex;flex-direction:column;justify-content:center;gap:34px;background:rgba(255,253,249,.96)}
.brand-lockup,.side-company,.profile{display:flex;align-items:center;gap:14px}.company-mark{width:54px;height:54px;border:1px solid rgba(185,149,93,.55);border-radius:16px;display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:28px;color:var(--gold-dark);background:#fbf6ef}.company-mark.small{width:42px;height:42px;border-radius:13px;font-size:22px}.company-name{font-family:'Playfair Display',serif;font-size:21px}.provider,.side-provider{font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.login-copy h1{font-family:'Playfair Display',serif;font-size:50px;line-height:1.05;margin:8px 0 14px}.login-copy p{color:var(--muted);line-height:1.65;max-width:430px}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);font-weight:700}.login-form{display:grid;gap:18px}.login-form label{display:grid;gap:8px;font-weight:600;font-size:14px}.login-form input{padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;outline:none}.login-form input:focus{border-color:var(--gold)}.login-form button,.primary-button{border:0;background:var(--charcoal);color:white;padding:14px 18px;border-radius:12px;font-weight:700;cursor:pointer}.primary-button:disabled{opacity:.45;cursor:not-allowed}.form-error{min-height:20px;color:#a33;font-size:13px}.login-note{font-size:12px;color:var(--muted);line-height:1.5}.login-art{position:relative;background:linear-gradient(145deg,#805b38,#d8ab79 45%,#f1d2aa);overflow:hidden}.login-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 24%,rgba(255,244,213,.95),transparent 28%),linear-gradient(150deg,transparent 0 45%,rgba(39,26,18,.18) 46% 48%,transparent 49%),linear-gradient(30deg,transparent 0 63%,rgba(255,255,255,.16) 64% 66%,transparent 67%)}.art-overlay{position:absolute;inset:auto 0 0;height:48%;background:linear-gradient(transparent,rgba(23,15,10,.65))}.art-quote{position:absolute;left:7%;bottom:8%;color:#fff7eb;font-family:'Playfair Display',serif;font-size:40px;line-height:1.18}
.portal{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--charcoal);color:#f6efe5;padding:28px 18px;display:flex;flex-direction:column}.side-company{padding:4px 8px 26px}.side-company-name{font-family:'Playfair Display',serif;font-size:17px}.side-provider{color:#9f978c}.nav{display:grid;gap:7px}.nav-item{width:100%;border:0;background:transparent;color:#bdb5aa;text-align:left;padding:12px 14px;border-radius:11px;cursor:pointer;display:flex;gap:12px;align-items:center}.nav-item:hover,.nav-item.active{background:#25211c;color:#fff}.nav-sep{height:1px;background:#2e2a24;margin:12px 8px}.sidebar-bottom{margin-top:auto}.main{min-width:0;padding:0 34px 24px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between}.top-title{font-weight:700;color:#4f473f}.profile strong,.profile span{display:block}.profile span{font-size:12px;color:var(--muted);margin-top:2px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#ded1bf;font-weight:700}.hero{height:310px;border-radius:22px;overflow:hidden;position:relative;box-shadow:var(--shadow);background:#9c724d}.hero-image{position:absolute;inset:0;background:radial-gradient(circle at 72% 25%,rgba(255,231,191,.95),transparent 26%),linear-gradient(180deg,rgba(112,72,40,.08),rgba(62,38,24,.48)),linear-gradient(130deg,#7c5736 0 36%,#d6a66f 37% 62%,#efc790 63%)}.hero-image:after{content:"";position:absolute;right:8%;bottom:0;width:38%;height:72%;background:linear-gradient(100deg,rgba(255,255,255,.08),rgba(255,249,235,.7));clip-path:polygon(25% 0,100% 0,100% 100%,0 100%)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,18,11,.74),rgba(29,18,11,.18) 58%,rgba(29,18,11,.08))}.hero-content{position:absolute;left:42px;top:50%;transform:translateY(-50%);max-width:620px;color:#fff8ef}.hero-date{font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.82}.hero-content h1{font-family:'Playfair Display',serif;font-size:43px;margin:10px 0 12px}.hero-content p{font-size:16px;line-height:1.6;max-width:560px;margin:0;color:#f7ede0}.weather-card{position:absolute;right:28px;top:28px;width:170px;padding:18px;border-radius:18px;background:rgba(255,251,244,.9);backdrop-filter:blur(12px);text-align:center;color:var(--ink);box-shadow:0 14px 30px rgba(33,23,14,.14)}.weather-icon{font-size:28px}.temperature{font-size:36px;font-weight:700}.weather-condition{font-weight:600;font-size:13px}.weather-location{font-size:11px;color:var(--muted);margin-top:4px}.grid-top,.grid-bottom{display:grid;grid-template-columns:1.08fr .92fr;gap:18px;margin-top:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(47,37,25,.035)}.section-head,.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.card h2,.section-block h2{font-family:'Playfair Display',serif;margin:5px 0 0;font-size:27px}.card h3{font-family:'Playfair Display',serif;font-size:27px;margin:10px 0}.muted{color:var(--muted);font-size:13px;line-height:1.6}.pill{font-size:11px;padding:7px 9px;border-radius:999px;background:#f1e7d8;color:#765b36;font-weight:700}.primary-button{margin-top:14px}.section-block{margin-top:28px}.app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:14px}.app-tile{min-height:150px;background:var(--card);border:1px solid var(--line);border-radius:18px;display:grid;place-items:center;padding:22px;cursor:pointer;transition:.18s ease;box-shadow:0 8px 25px rgba(47,37,25,.035)}.app-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d8c5ab}.app-logo{font-family:'Playfair Display',serif;text-align:center;font-size:27px;letter-spacing:-.02em}.app-logo small{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-dark);margin-top:4px}.news-list{display:grid;margin-top:16px}.news-item{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.news-item span,.mini-block span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark);font-weight:700}.news-item strong,.mini-block strong{font-size:14px;line-height:1.45}.mini-block{display:grid;gap:8px;padding:16px 0;border-top:1px solid var(--line);margin-top:10px}.footer{display:flex;justify-content:space-between;color:#92887c;font-size:12px;padding:30px 4px 5px}
@media(max-width:1000px){.login-shell{grid-template-columns:1fr}.login-art{display:none}.portal{grid-template-columns:82px 1fr}.side-company>div:last-child,.nav-item span{display:none}.sidebar{padding-inline:14px}.side-company{justify-content:center}.grid-top,.grid-bottom{grid-template-columns:1fr}.weather-card{right:18px;top:18px}.main{padding:0 20px 20px}}
@media(max-width:700px){.login-card{padding:36px 26px}.login-copy h1{font-size:38px}.portal{display:block}.sidebar{display:none}.main{padding:0 14px 18px}.topbar{height:70px}.hero{height:390px}.hero-content{left:24px;right:24px;top:auto;bottom:28px;transform:none}.hero-content h1{font-size:34px}.weather-card{width:145px}.grid-top,.grid-bottom{grid-template-columns:1fr}}

/* Atelier provider branding */
.provider-brand{display:flex;align-items:center;gap:7px;text-transform:none;letter-spacing:.02em}
.provider-brand span{white-space:nowrap}
.provider-brand img{display:block;width:62px;height:28px;object-fit:contain;object-position:left center}
.side-provider.provider-brand{margin-top:5px;gap:6px;color:#9f978c}
.side-provider.provider-brand img{width:56px;height:24px}
.footer-provider{display:inline-flex;align-items:center;gap:7px}
.footer-provider img{width:58px;height:24px;object-fit:contain}
.login-help{font-size:12px;line-height:1.5;padding:10px 12px;border-radius:10px;background:#fff5e8;color:#73542f;border:1px solid #ecd9bd;margin-top:-8px}

/* Premium visual refresh */
.login-art{
  background-image:url('./hero-warm.jpg');
  background-size:cover;
  background-position:center;
}
.login-art:before{
  background:linear-gradient(135deg,rgba(50,30,18,.06),rgba(31,20,13,.28));
}
.art-overlay{height:58%;background:linear-gradient(transparent,rgba(20,13,8,.72))}

.hero{background:#d5b283}
.hero-image{
  background-image:url('./hero-warm.jpg');
  background-size:cover;
  background-position:center;
  transform:scale(1.015);
}
.hero-image:after{display:none}
.hero-shade{
  background:linear-gradient(90deg,rgba(255,252,247,.98) 0%,rgba(255,249,241,.94) 33%,rgba(255,248,238,.58) 49%,rgba(255,248,238,.12) 66%,rgba(30,19,11,.04) 100%);
}
.hero-content{color:#211b16;max-width:510px}
.hero-date{color:#9a7442;opacity:1;font-weight:700}
.hero-content h1{color:#17130f;text-shadow:0 1px 0 rgba(255,255,255,.45)}
.hero-content p{color:#54483d;max-width:500px;font-family:'Playfair Display',serif;font-size:17px;line-height:1.55}
.weather-card{background:rgba(255,253,249,.92);border:1px solid rgba(255,255,255,.72);box-shadow:0 18px 38px rgba(61,41,23,.16)}

.app-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.app-tile{
  min-height:150px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#171512,#262019 58%,#171512);
  border-color:#3a3026;
  box-shadow:0 12px 30px rgba(25,19,13,.12);
}
.app-tile:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 82% 14%,rgba(207,171,111,.18),transparent 34%),linear-gradient(120deg,transparent,rgba(255,255,255,.035));
}
.app-tile:hover{border-color:#b9955d;box-shadow:0 18px 45px rgba(30,22,14,.18)}
.app-logo{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;color:#f7f0e7}
.app-logo img{width:120px;height:58px;object-fit:contain;object-position:center}
.app-logo span{font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#f5efe7;font-weight:600}
.app-logo small{display:none}

.provider-brand img,.footer-provider img{filter:none}

/* Attendance MVP */
.attendance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 4px}
.attendance-summary>div{background:#fbf8f3;border:1px solid var(--line);border-radius:13px;padding:12px 10px;display:grid;gap:4px}
.attendance-summary span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}
.attendance-summary strong{font-size:15px;color:var(--ink)}
.attendance-working{background:#e9f6ed;color:#287541}
.attendance-complete{background:#edf0f5;color:#4e5a69}
.clock-out-button{background:#5c332b}
.attendance-error{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff2ef;border:1px solid #f0c9c1;color:#9a3f2f;font-size:12px;line-height:1.45}
.attendance-footnote{margin:12px 0 0;color:#9a9187;font-size:11px;line-height:1.45}
.exact-app-logo img{width:min(100%,230px);height:auto;max-height:76px;object-fit:contain}
@media(max-width:700px){.attendance-summary{grid-template-columns:1fr}}
