:root{font-family:Arial,Helvetica,sans-serif;color:#193c3e;background:#f3f6f5;font-size:15px;line-height:1.5;--teal:#1b4d4f;--accent:#008f9a;--lime:#9fc43a}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:28px;padding:20px max(24px,calc((100vw - 1180px)/2));background:var(--teal);color:white}a{color:inherit;text-decoration:none}.brand{font-weight:900;font-size:30px;letter-spacing:2px;line-height:1}.brand span{display:block;font-size:8px;letter-spacing:2.4px;margin-top:6px}.app-name{font-size:11px;letter-spacing:2px;opacity:.75}header form{margin-left:auto}header button{color:white;border:1px solid #ffffff50;background:transparent}nav{display:flex;gap:8px;padding:12px max(24px,calc((100vw - 1180px)/2));background:white;border-bottom:1px solid #dfe8e5;overflow:auto}nav a{white-space:nowrap;padding:9px 14px;border-radius:8px;font-size:13px}nav a:hover,nav .selected{background:#e4f1ee;color:var(--teal);font-weight:bold}main{max-width:1180px;margin:42px auto;min-height:70vh;padding:0 24px}h1{font-size:34px;line-height:1.18;letter-spacing:-1.1px;margin:8px 0 12px}h2{font-size:23px;line-height:1.25;margin:6px 0 20px}p{color:#617775;margin:8px 0 23px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.7px;color:var(--accent);margin:0 0 12px}.card{background:#fff;border:1px solid #e0e8e5;border-radius:16px;padding:30px;margin-bottom:24px;box-shadow:0 4px 24px #173d3c04}.narrow{max-width:540px;margin:30px auto}.login{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center;max-width:1000px;margin:70px auto}.login h1{font-size:52px;line-height:1.08}.login p{max-width:380px}.feature{padding:13px 0;border-bottom:1px solid #dce4e1;font-size:14px;max-width:330px}label{display:block;font-size:12px;font-weight:700;margin-bottom:17px;color:#3b5757}input,select{display:block;width:100%;margin-top:7px;border:1px solid #ccd9d5;border-radius:8px;padding:12px;font:inherit;color:#264746;background:white;min-height:44px}input:focus,select:focus{outline:2px solid #008f9a50;border-color:var(--accent)}button,.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:8px;background:var(--teal);color:white;padding:13px 20px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;min-height:44px}button:hover,.button:hover{filter:brightness(1.12)}button:disabled{opacity:.55;cursor:wait}.card>form:not(.filters)>button{width:100%}.secondary{background:#e8f2ef;color:var(--teal)}small{display:block;color:#718783;font-size:11px;font-weight:400;line-height:1.6;margin-top:13px}.alert{padding:14px 18px;background:#e5f3e8;color:#275d3d;border:1px solid #c9e6d1;border-radius:9px;margin:0 0 22px;font-size:13px}.error{background:#fff3eb;color:#964b25;border-color:#f0d7c5}.heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.badge{display:inline-block;white-space:nowrap;border-radius:30px;padding:5px 11px;font-size:11px;font-weight:700}.done{color:#307052;background:#e8f4eb}.pending{color:#985c15;background:#fff3df}.clock-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:24px}.clock-card{text-align:center;padding:42px}.clock{font-size:68px;font-weight:700;letter-spacing:-3px;line-height:1.2;font-variant-numeric:tabular-nums}.divider{border-top:1px solid #e4ebe8;margin:26px 0}.muted{font-size:12px;margin-bottom:8px}.mark{background:var(--lime);color:#233f27;width:100%;font-size:16px;margin:10px 0}.timeline{list-style:none;margin:28px 0;padding:0}.timeline li{position:relative;padding:0 0 25px 28px;border-left:2px solid #e0e9e5;margin-left:6px}.timeline li:before{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:#dce7e2;left:-7px;top:5px;border:2px solid white}.timeline .recorded:before{background:var(--accent)}.timeline li:last-child{padding-bottom:5px;border-color:transparent}.timeline span{display:block;font-size:13px}.timeline strong{font-size:12px;font-weight:400;color:#718783}.hours-box{background:#f2f6f4;border-radius:9px;padding:15px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.hours-box strong{font-size:25px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0}.stats article{background:white;border:1px solid #e0e8e5;border-radius:12px;padding:22px}.stats span{display:block;font-size:12px;color:#718783}.stats strong{font-size:32px;display:block;margin-top:10px}.filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.filters label{flex:1;min-width:140px;margin:0}.filters button,.filters .button{margin-bottom:0}.note{font-size:12px;background:#f5f8f6;border-radius:7px;padding:12px;margin:20px 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;background:#f6f8f7;padding:13px 12px;color:#657e77}td{padding:18px 12px;border-bottom:1px solid #e8eeeb}td small{margin:3px 0 0}td.empty{text-align:center;padding:45px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.branch-item{padding:15px 0;border-bottom:1px solid #e3ebe7;margin-bottom:15px}details{padding:18px 0;border-top:1px solid #e2eae6}summary{cursor:pointer}summary span{display:block;margin:5px 0 0 17px;font-size:12px;color:#6d827d}details .filters{padding-top:16px}.count{font-size:12px;background:#e9f2ee;padding:6px 10px;border-radius:15px}footer{text-align:center;font-size:11px;color:#82948e;padding:30px 20px;border-top:1px solid #e2eae5}@media(max-width:800px){main{margin:26px auto;padding:0 16px}header{padding:18px;gap:18px}.app-name{font-size:9px;letter-spacing:1px}nav{padding:8px 12px}.login{grid-template-columns:1fr;gap:25px;margin:25px auto}.login h1{font-size:38px}.login .feature{display:none}.clock-layout,.two-col{grid-template-columns:1fr;gap:0}.clock{font-size:58px}.card{padding:23px}.clock-card{padding:32px 23px}.heading h1{font-size:28px}.stats{gap:8px}.stats article{padding:14px 10px}.stats strong{font-size:25px}.stats span{font-size:10px}.heading>.badge{display:none}.filters>button,.filters>.button{flex:1}.quiet{padding:9px;font-size:11px}.brand{font-size:25px}}
textarea{display:block;width:100%;margin-top:7px;border:1px solid #ccd9d5;border-radius:8px;padding:12px;font:inherit;resize:vertical;color:#264746}textarea:focus{outline:2px solid #008f9a50}.module-tabs{display:flex;gap:8px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.module-tabs a{padding:10px 17px;background:white;border:1px solid #dae5df;border-radius:9px;font-size:13px}.module-tabs .selected{background:var(--teal);color:white}.module-tabs span{margin-left:auto;color:#687f79;font-size:12px}.request-data{display:grid;grid-template-columns:2fr 1fr;gap:14px 24px;font-size:13px}.request-data small{margin:0 0 4px}.request-card h2{font-size:20px;margin-bottom:0}.request-reason{white-space:normal;overflow-wrap:anywhere;margin-top:20px;color:#395753}.admin-response{border-left:3px solid var(--accent);padding-left:16px;font-size:13px}.admin-response p{margin:5px 0 16px}.action-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}.action-row form{margin:0}.status-approved{background:#e4f3e8;color:#2f6944}.status-pending{background:#fff0d8;color:#8a5b16}.status-proposed{background:#e4efff;color:#305f92}.status-rejected,.status-cancelled{background:#f0eeee;color:#755c5c}.danger{background:#f8e7e3;color:#943c30}.proposal{background:#eef5ff;border-color:#cfdef3;color:#315c8c}.proposal p{margin:8px 0;color:inherit}.decision-form{padding-top:18px}.history-item{padding:13px 0;border-bottom:1px solid #e3eae5;font-size:12px}.history-item small{margin-top:3px}.history-item p{margin:5px 0 0}.leave-create .two-col{gap:24px}.leave-create .filters{margin-bottom:18px}.checkbox{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.checkbox input{width:18px;min-height:18px;flex:0 0 18px;margin-top:1px;accent-color:var(--teal)}.leave-create>button{margin-top:8px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:24px;border-left:1px solid #dce6df;border-top:1px solid #dce6df}.weekday{padding:10px;text-align:center;background:#edf3ef;font-size:12px;font-weight:700;border-right:1px solid #dce6df;border-bottom:1px solid #dce6df}.calendar-day{min-height:110px;border-right:1px solid #dce6df;border-bottom:1px solid #dce6df;padding:9px;font-size:12px}.calendar-day>b{display:block;font-size:13px;margin-bottom:7px}.calendar-day.blank{background:#f8faf8}.weekend{background:#f4f6f4}.calendar-event{display:block;padding:7px;border-radius:5px;font-size:10px;overflow-wrap:anywhere;margin-bottom:5px}.calendar-event small{color:inherit;margin:3px 0 0;font-size:9px}.print-toolbar{max-width:950px;margin:24px auto;display:flex;gap:12px;align-items:center;padding:0 20px;flex-wrap:wrap}.print-toolbar span{font-size:12px;color:#617775}.print-document{background:white;max-width:850px;padding:48px;margin:24px auto;min-height:1000px}.print-document h1{font-size:26px;margin:28px 0}.print-document h2{font-size:17px;margin-top:25px}.doc-header{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:2px solid var(--teal);padding-bottom:18px}.doc-header b{font-size:19px;letter-spacing:1px}.doc-header span{font-size:11px}.doc-data{display:grid;grid-template-columns:2fr 1fr;gap:16px;padding:20px 0;font-size:13px}.doc-data small{margin:0 0 4px}.doc-state{padding:12px;border:1px solid #bbcfc4;font-size:12px}.signatures{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:65px;text-align:center;font-size:12px;break-inside:avoid}.signature-line{border-top:1px solid #47615a;margin-bottom:8px}.signatures span{display:block;font-size:11px;margin-top:4px}.review-signatures{display:flex;gap:30px;justify-content:space-between;margin-top:60px;font-size:11px}.doc-foot{font-size:10px;margin-top:35px}.monthly-table td{padding:8px;font-size:10px;white-space:normal}.monthly-table th{font-size:9px;white-space:normal;padding:10px 7px}.monthly-table td:last-child{min-width:150px}.monthly-table small{font-size:9px;margin-top:2px}.monthly-table tfoot{background:#ecf3ef}.attendance-print{padding:25px}@media(max-width:800px){.request-data{grid-template-columns:1fr}.request-card .heading{align-items:flex-start;flex-direction:column}.request-card .heading>.badge{display:inline-block}.module-tabs span{width:100%;margin:5px 0}.calendar{min-width:650px}.card:has(.calendar){overflow-x:auto}.print-document{padding:25px;margin:15px}.signatures{gap:25px}.doc-header{align-items:flex-start;flex-direction:column}.doc-data{grid-template-columns:1fr 1fr}}@media print{@page{size:A4 portrait;margin:12mm}body{background:white;color:black;font-size:11px}header,nav,footer,.no-print,.print-toolbar,main>.alert{display:none!important}main{max-width:none;margin:0;padding:0;min-height:0}.card,.print-document{margin:0;padding:0;border:0;border-radius:0;box-shadow:none;min-height:0}.table-wrap{overflow:visible}table{white-space:normal;width:100%}.monthly-table{table-layout:fixed}.monthly-table th,.monthly-table td{font-size:8px;padding:5px 3px;word-break:normal}.monthly-table td:last-child{min-width:0;width:27%}.monthly-table th:last-child{width:27%}th,td{border:1px solid #d7ded9}thead{display:table-header-group}tr{break-inside:avoid}.signatures{margin-top:45px;font-size:10px}.signatures span{font-size:9px}.doc-header{display:flex;flex-direction:row}.doc-data{grid-template-columns:2fr 1fr 1fr;font-size:10px;padding:12px 0}.print-document .doc-data{grid-template-columns:2fr 1fr 1fr}.print-document h1{font-size:22px}.print-document p{font-size:12px;color:black}.doc-state{padding:8px}.doc-foot{font-size:9px!important}.attendance-print .signatures{margin-top:32px}.attendance-print .doc-header{padding-bottom:10px}}
[hidden]{display:none!important}
@media print{html,body{background:#fff!important}.doc-header{display:block;min-height:32px}.doc-header b{font-size:15px;line-height:1.4}.doc-header span{float:right;font-size:9px;line-height:2.1}.doc-data{grid-template-columns:2fr 1fr 1fr 1.2fr}.print-document .doc-data{grid-template-columns:2fr 1fr 1fr}}
.monthly-header{border-bottom:2px solid var(--teal);padding-bottom:12px;margin-bottom:12px}.monthly-header h2{font-size:18px;margin:0 0 5px}.monthly-header p{font-size:11px;margin:0}@media print{.monthly-header h2{font-size:14px;color:black}.monthly-header p{font-size:9px;color:black}.monthly-header{padding-bottom:7px;margin-bottom:8px}}
