:root{--accent:#117a82;--ink:#172b3a;--muted:#687986;--line:#e1e9ed;--bg:#f4f7f9;--white:#fff;--radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,.button{border:0;border-radius:9px;padding:12px 19px;background:var(--accent);color:white;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;text-decoration:none;line-height:1.25}button:hover,.button:hover{filter:brightness(.95);text-decoration:none}button:disabled{opacity:.6;cursor:wait}.secondary{background:#edf3f5;color:var(--ink)}.danger{background:#b6404a;color:white}.text-button{padding:8px 4px;background:transparent;color:var(--accent);font-size:.85rem}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0}.button-row form{margin:0}h1,h2,h3,p{margin-top:0}h1{font-size:2.2rem;letter-spacing:-1.1px;font-weight:720;margin-bottom:9px}h2{font-size:1.18rem;letter-spacing:-.3px;margin-bottom:18px}h3{font-size:1rem;margin:12px 0 8px}p{line-height:1.6}small{display:block;color:var(--muted);line-height:1.5;font-size:.79rem}.muted{color:var(--muted);font-size:.92rem}.lead{color:var(--muted);font-size:1rem;margin-bottom:26px}.eyebrow{font-size:.68rem;font-weight:750;letter-spacing:2px;color:var(--accent);margin-bottom:12px}.sidebar{position:fixed;width:244px;top:0;left:0;bottom:0;background:white;border-right:1px solid var(--line);padding:30px 18px 20px;display:flex;flex-direction:column;overflow:auto;z-index:30}.app-brand{display:flex;align-items:center;gap:12px;font-size:1.42rem;font-weight:760;letter-spacing:-.6px;color:var(--ink);margin-bottom:30px}.app-brand small{font-weight:400;font-size:.72rem;letter-spacing:0;margin-top:3px;max-width:140px;overflow-wrap:anywhere}.brand-mark{background:var(--accent);color:white;border-radius:15px;width:59px;height:59px;display:inline-flex;align-items:center;justify-content:center;font-size:21px;font-weight:800;letter-spacing:-1px;flex-shrink:0}.brand-mark span{color:#b9e8d5}.brand-mark.small{width:43px;height:43px;border-radius:12px;font-size:16px}.nav-label{font-size:.61rem;letter-spacing:1.8px;color:#91a0aa;margin:19px 12px 10px;font-weight:700}nav a{display:flex;gap:13px;align-items:center;padding:11px 14px;font-size:.88rem;color:#546572;border-radius:9px;margin-bottom:4px;min-height:43px}nav a span{font-size:19px;width:20px;color:#738995}nav a:hover{background:#f4f8f9;text-decoration:none}nav a.active{background:#e7f4f2;color:var(--accent);font-weight:650}nav a.active span{color:var(--accent)}.developer{margin-top:auto;padding:30px 12px 0;font-size:.68rem;color:#83919b;line-height:1.7}.developer strong{color:#506575}.developer small{font-size:.62rem}.company-logo{display:block;max-width:175px;max-height:58px;object-fit:contain;object-position:left;margin:0 0 20px}.developer-logo{display:block;max-width:90px;max-height:32px;object-fit:contain;margin-bottom:6px}.workspace{margin-left:244px}.topbar{background:#ffffffed;border-bottom:1px solid var(--line);height:86px;display:flex;align-items:center;padding:0 42px;gap:25px}.breadcrumb{font-size:.78rem;color:#87939c;margin-right:auto}.user-chip{display:flex;gap:10px;align-items:center;color:var(--ink);font-size:.8rem;font-weight:600}.avatar{background:#dfefec;color:var(--accent);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.user-chip small{font-size:.67rem;font-weight:400}.topbar form{margin:0}.content{max-width:1440px;padding:37px 42px 22px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:15px}.today{font-size:.76rem;background:white;border:1px solid var(--line);padding:9px 14px;border-radius:8px;color:var(--muted);white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:25px 0}.stat{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;min-height:148px;box-shadow:0 3px 8px #1c3d5210}.stat p{color:var(--muted);font-size:.8rem;margin:0 0 14px}.stat strong{font-size:2.45rem;font-weight:680;letter-spacing:-1px;display:block;line-height:1.2;color:var(--ink)}.stat small{margin-top:8px;font-size:.71rem}.compact .stat{min-height:115px}.compact .stat strong{font-size:1.8rem}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:27px;margin-bottom:22px;box-shadow:0 2px 6px #1c3d5205;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.section-heading h2{margin:0}.section-heading form{margin:0}.timer-card{background:linear-gradient(130deg,#fff 40%,#eff8f6)}.clock{font-size:3.5rem;letter-spacing:-2px;font-variant-numeric:tabular-nums;font-weight:680;margin:21px 0 4px}.subtle-link{display:inline-block;margin-top:14px;font-size:.8rem}.badge{display:inline-flex;align-items:center;border-radius:30px;padding:5px 10px;background:#edf1f4;color:#60717f;font-size:.68rem;white-space:nowrap;line-height:1.3}.badge.approved,.badge.done{background:#e1f4e9;color:#29754e}.badge.submitted,.badge.pending{background:#fff1d6;color:#8a631c}.badge.rejected,.badge.returned{background:#fce8e8;color:#aa4343}.badge.processing{background:#e3efff;color:#376ba0}.badge.sick{background:#f9e6eb;color:#a14f6a}.badge.vacation{background:#e3efff;color:#386b9b}.empty{text-align:center;padding:32px 10px}.empty>span{display:inline-flex;border-radius:50%;background:#ecf5f1;width:40px;height:40px;align-items:center;justify-content:center;color:#76a58e;margin-bottom:3px}.empty p{font-size:.81rem;color:var(--muted);margin-bottom:0}.empty h3{font-weight:600}.task-list{padding:0;list-style:none}.task-list li{border-bottom:1px solid var(--line);padding:13px 0;font-size:.88rem}.notice{padding:14px 0;border-top:1px solid var(--line);font-size:.87rem}.notice small{margin-top:4px}.notice.unread{border-left:3px solid var(--accent);padding-left:12px}.alert{padding:16px 19px;background:#e7f3f0;color:#28675f;border-radius:10px;margin-bottom:20px;line-height:1.5;font-size:.9rem}.alert.error{background:#fceded;color:#983940}.filters{display:flex;gap:15px;align-items:flex-end;margin:25px 0}.filters label{min-width:180px;margin:0}.filters button{height:44px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}label{display:block;font-size:.8rem;font-weight:550;line-height:1.5;margin-bottom:17px}input,select,textarea{display:block;width:100%;border:1px solid #cfdce2;border-radius:8px;background:#fff;color:var(--ink);padding:11px 12px;min-height:44px;margin-top:6px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #117a8218}input[type=color]{padding:5px}input[type=file]{font-size:.8rem}textarea{resize:vertical}.checkbox{display:flex;gap:9px;align-items:center}.checkbox input{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--accent)}.editor summary{font-weight:650;cursor:pointer}.editor[open] summary{margin-bottom:23px}.advanced{font-size:.76rem;color:var(--muted);margin:7px 0 18px}.advanced summary{font-weight:400;margin-bottom:12px}.break-row{background:var(--bg);border-radius:10px;padding:15px;margin:12px 0}.table-wrap{overflow:auto;margin:15px 0}table{width:100%;border-collapse:collapse;font-size:.78rem;text-align:left;white-space:nowrap}th{font-size:.68rem;color:var(--muted);font-weight:650;background:#f6f9fa}th,td{padding:12px 13px;border-bottom:1px solid #eaf0f2}td{font-variant-numeric:tabular-nums}td small{font-size:.65rem}.highlight{background:#f1faf7}tfoot th{background:#eef6f4;color:var(--ink);font-size:.78rem}.warning{color:#a57628}.entry-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;border-top:1px solid var(--line);font-size:.85rem}.entry-row p{margin:6px 0 0}.entry-row details{font-size:.76rem;max-width:250px}.document-row{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:20px 0;border-top:1px solid var(--line)}.document-row p{font-size:.83rem}.document-row h3{margin-top:0}.team-selection{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.audit-entry{padding:18px 0;border-bottom:1px solid var(--line);font-size:.8rem}.audit-entry summary{cursor:pointer;line-height:1.5}pre{white-space:pre-wrap;word-break:break-word;font-size:.72rem;background:var(--bg);padding:15px;border-radius:9px;max-height:350px;overflow:auto}.narrow{max-width:720px}.recovery{display:block;padding:20px;background:var(--bg);word-break:break-all;font-size:1rem}.footer{margin-top:30px;padding:12px 0;display:flex;justify-content:space-between;font-size:.64rem;color:#8e9da5}.mobile-toggle{display:none}.setup{padding:45px 20px}.setup-card{max-width:860px;padding:45px;margin:auto;background:white;border-radius:22px;border:1px solid var(--line)}.setup-card .brand-mark{margin-bottom:25px}.setup-card h2{margin-top:35px}.checks{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 30px}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-intro{padding:60px;background:#123b43;color:white;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;position:relative;overflow:hidden}.login-intro:after{content:"";width:500px;height:500px;border:1px solid #80b5b533;border-radius:50%;position:absolute;right:-220px;bottom:-240px;box-shadow:0 0 0 70px #80b5b50a,0 0 0 140px #80b5b506;pointer-events:none}.login-intro .app-brand{color:white}.login-intro h1{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.16;letter-spacing:-1.9px;margin:22px 0}.login-intro p{color:#adcdcc;font-size:.95rem}.login-intro .eyebrow{color:#8dd9c0;font-size:.66rem}.login-intro .developer{margin-top:0;padding:0;color:#9abbb9;font-size:.72rem}.login-intro .developer strong{color:#deecea}.login-card{width:100%;max-width:460px;align-self:center;justify-self:center;padding:40px}.login-card h2{font-size:1.8rem;letter-spacing:-.8px;margin-bottom:12px}.login-card .muted{margin-bottom:32px}.login-card form button{width:100%;margin-top:8px}.login-card label{margin-bottom:20px}.legal-links{display:flex;gap:20px;font-size:.72rem;margin-top:40px}.print{padding:30px;background:white}.print-page{margin:30px 0}.print .company-logo{float:right}.print h1{font-size:1.6rem}.print table{font-size:.7rem}.print td,.print th{padding:7px}.print .badge{background:transparent;padding:0}.print p{font-size:.8rem}li{line-height:1.7}summary{cursor:pointer}:focus-visible{outline:3px solid #8ec5ca;outline-offset:3px}
@media(min-width:1600px){.content{padding-top:48px}.stat{padding:28px}.login-intro{padding:75px}}
@media(max-width:1150px){.sidebar{width:218px}.workspace{margin-left:218px}.content{padding:28px 24px}.topbar{padding:0 24px}.stat{padding:22px 18px}.stat strong{font-size:2.1rem}.breadcrumb{display:none}.topbar .user-chip{margin-left:auto}.weekday-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:245px;top:70px}.menu-open .sidebar{transform:translateX(0);box-shadow:15px 0 50px #172b3a25}.workspace{margin-left:0}.mobile-toggle{display:inline-flex;padding:7px 13px}.topbar{height:70px;padding:0 18px;gap:15px;position:sticky;top:0;z-index:40}.content{padding:25px 18px}.stats{gap:12px}.stat{padding:20px 15px;min-height:140px}.stat strong{font-size:1.85rem}.two-columns{grid-template-columns:1fr 1fr;gap:14px}.card{padding:22px}.login-intro{padding:40px}.login-intro h1{font-size:2.4rem}.login-card{padding:30px}.team-selection{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){h1{font-size:1.75rem;letter-spacing:-.7px}.page-heading .today{display:none}.eyebrow{font-size:.61rem}.lead{font-size:.88rem}.stats{grid-template-columns:1fr;gap:10px;margin:20px 0}.stat{min-height:95px;position:relative;padding:18px 20px}.stat p{margin-bottom:5px;font-size:.76rem}.stat strong{position:absolute;right:20px;top:24px;font-size:1.9rem}.stat small{max-width:58%;font-size:.67rem}.compact{grid-template-columns:repeat(3,1fr)}.compact .stat{padding:13px;min-height:105px}.compact .stat p{font-size:.63rem;line-height:1.4;min-height:33px}.compact .stat strong{position:static;font-size:1.5rem}.two-columns{grid-template-columns:1fr;gap:0}.card{padding:20px;margin-bottom:16px;border-radius:13px}.clock{font-size:3rem}.form-grid,.document-row{grid-template-columns:1fr;gap:0}.filters{flex-wrap:wrap;gap:10px}.filters label{min-width:120px;flex:1}.filters button{padding:10px 15px}.entry-row{flex-wrap:wrap}.entry-row>div:first-child{width:100%}.entry-row .button{font-size:.78rem}.document-row>div+div{margin-top:20px}.button-row{gap:8px}.button-row .button{font-size:.74rem;padding:12px}.weekday-grid{grid-template-columns:repeat(3,1fr)}.user-chip{font-size:.73rem}.topbar .text-button{font-size:.7rem}.avatar{width:31px;height:31px}.footer{font-size:.58rem;gap:15px}.login-wrap{grid-template-columns:1fr}.login-intro{min-height:210px;padding:27px}.login-intro .app-brand{margin:0;font-size:1.3rem}.login-intro h1{font-size:1.6rem;margin:25px 0 0;letter-spacing:-.6px}.login-intro>div>p{display:none}.login-intro .developer{display:block;margin-top:20px}.login-card{padding:32px 25px 45px}.login-card .eyebrow{margin-top:5px}.login-card h2{font-size:1.6rem}.setup{padding:15px 10px}.setup-card{padding:25px 20px}.team-selection{grid-template-columns:1fr}th,td{padding:10px}.section-heading{align-items:flex-start}.section-heading h2{font-size:1.05rem}.print{padding:10px}}
@media print{@page{size:A4;margin:12mm}body{background:white}.no-print{display:none!important}.print{padding:0}.print-page{break-after:page;margin:0}.print-page:last-child{break-after:auto}.print table{white-space:normal;font-size:8px}.print th,.print td{padding:5px 3px}.print .table-wrap{overflow:visible}.print .company-logo{max-height:40px}.print h1{font-size:18px}.print h2{font-size:14px}}

.form-grid .full-width{grid-column:1/-1}
/* Consistent controls and fixed developer branding. */
input,select{height:46px;min-width:0}select{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23546572' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}label,form,.page-heading>div{min-width:0}.developer-credit{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.76rem;font-weight:500;letter-spacing:0}.developer-credit img{width:105px;height:auto;object-fit:contain;background:white;border-radius:5px;padding:5px}.setup-card>.developer-credit{margin-bottom:22px}.sidebar .developer-credit{align-items:flex-start;flex-direction:column}.footer{flex-wrap:wrap}.filters{flex-wrap:wrap}.filters label{flex:1;min-width:160px}.table-wrap{max-width:100%;overscroll-behavior-x:contain}.user-chip{min-width:0}.user-chip>span:last-child{overflow-wrap:anywhere}.menu-backdrop{display:none}
@media(max-width:850px){.sidebar{width:min(290px,85vw);bottom:0;height:calc(100dvh - 70px);overscroll-behavior:contain}.menu-open{overflow:hidden}.menu-open .menu-backdrop{display:block;position:fixed;inset:70px 0 0;background:#172b3a70;z-index:25;border-radius:0;width:100%;padding:0}.two-columns{grid-template-columns:1fr}.topbar{gap:10px}.topbar .user-chip{flex:1;justify-content:flex-end}.topbar .user-chip>span:last-child{max-width:180px}}
@media(max-width:600px){input,select,textarea{font-size:16px}.content{padding:20px 12px}.card{padding:17px}.stats,.stats.compact{grid-template-columns:1fr}.stat strong,.compact .stat strong{position:static;font-size:2rem;margin-top:8px;overflow-wrap:anywhere}.stat small{max-width:none}.compact .stat p{min-height:0}.stat,.compact .stat{min-height:0;padding:18px}.section-heading{flex-wrap:wrap}.section-heading form{width:100%}.filters{align-items:stretch}.filters label{flex:1 1 100%;min-width:0}.filters button{width:100%}.weekday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.button-row>form{flex:1 1 130px}.button-row button{width:100%}.entry-row details{max-width:100%;width:100%}.topbar{padding:0 12px}.topbar .avatar{display:none}.topbar .user-chip>span:last-child{max-width:145px}.login-intro{min-height:0;padding:24px}.login-intro h1{font-size:1.5rem}.login-card{padding:25px 20px}.setup-card{padding:22px 16px}.setup-card h1{font-size:1.65rem}.checks .badge{white-space:normal}.document-row{overflow-wrap:anywhere}.footer{gap:8px}h1,h2,h3{overflow-wrap:anywhere}}

/* Compact, proportional logos in every branding placement. */
.company-logo{width:auto;height:auto;max-width:min(100%,160px);max-height:64px;object-fit:contain;flex:0 0 auto;align-self:flex-start}
.sidebar>.company-logo{max-width:145px;max-height:48px;margin-bottom:14px}
.login-card>.company-logo{max-width:min(100%,180px);max-height:72px;margin-bottom:20px}
.developer-credit{flex-direction:column;align-items:flex-start;gap:7px}
.developer-credit img{display:block;width:100px;height:auto;max-width:100%;max-height:44px;object-fit:contain}
@media(max-width:600px){.login-card>.company-logo{max-width:145px;max-height:56px}.developer-credit img{width:90px;max-height:40px}}

.developer-credit,.sidebar .developer-credit{display:inline-flex;width:110px;max-width:100%;flex-direction:column;align-items:center;text-align:center;gap:7px}.developer-credit>span{display:block;width:100%;text-align:center;white-space:nowrap}.developer-credit img{margin:0 auto}.notification-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.notification-controls form{margin:0}@media(max-width:600px){.notification-controls{width:100%}.notification-controls>a,.notification-controls form,.notification-controls button{width:100%}}
