@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,Inter,system-ui,Arial,sans-serif;color:#233b54;background:#f5faff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}.muted{color:#8a9bb0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;color:#80a5ca}.btn{border:0;border-radius:13px;padding:12px 19px;font-weight:800;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:.18s}.btn:hover,.arrow-btn:hover{transform:translateY(-1px)}.btn.primary{background:#69b2f3;color:white;box-shadow:0 8px 20px #6db8f32b}.btn.pale{background:#e8f4ff;color:#5598d1}.btn.ghost{background:transparent;color:#8ba5be}.btn.sm{padding:10px 13px;font-size:11px}.btn.large{width:100%;padding:17px 18px;justify-content:space-between;font-size:13px}.welcome-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px;gap:100px;background:radial-gradient(circle at 80% 10%,#e6f4ff,transparent 35%),#f8fbff}.welcome-card{max-width:410px;width:100%;z-index:2}.brand-mark,.brand-icon{color:#72b5f3;background:#e6f3ff;display:grid;place-items:center;border-radius:15px}.brand-mark{font-size:30px;width:58px;height:58px;margin-bottom:34px}.welcome-card h1{font-size:clamp(32px,4vw,48px);letter-spacing:-.055em;line-height:1.14;margin:15px 0 15px}.welcome-card .muted{font-size:13px;line-height:1.9;margin-bottom:30px}.enter-actions{display:grid;gap:12px}.welcome-decoration{width:320px;height:330px;position:relative}.decor-circle{width:290px;height:290px;background:linear-gradient(140deg,#def0ff,#c6e7ff);border-radius:50%;position:absolute;top:0;right:0}.decor-card{position:absolute;top:70px;left:0;background:white;box-shadow:0 28px 60px #8cbde441;border-radius:24px;width:275px;padding:25px;transform:rotate(-8deg)}.decor-card>span{color:#78addc;font-size:11px;font-weight:800;letter-spacing:.12em}.decor-card strong{font-size:10px;display:block;margin:20px 0;color:#8eabc1}.decor-dots{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.decor-dots i{display:block;aspect-ratio:1;border-radius:9px;background:#dbeaf7}.decor-dots i:nth-child(3n){background:#b0ddba}.decor-dots i:nth-child(4n){background:#ffdee0}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,65px);background:#fff;border-bottom:1px solid #eaf1f8}.identity{display:flex;align-items:center;gap:12px}.brand-icon{width:40px;height:40px;font-size:21px}.identity b{display:block;font-size:14px;letter-spacing:-.02em}.identity small{font-size:10px;color:#9eafc0}.top-actions{display:flex;align-items:center;gap:12px}.role-pill{border-radius:50px;background:#e7f3ff;padding:9px 13px;color:#659ed2;font-size:10px;font-weight:800}.content{max-width:1500px;margin:0 auto;padding:40px clamp(14px,3.5vw,58px) 35px}.heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.heading-row h1{letter-spacing:-.045em;margin:10px 0 4px;font-size:27px}.heading-row p{font-size:12px;margin:0}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:17px;margin:34px 0 16px}.month-control,.legend{display:flex;align-items:center;gap:13px}.month-control{background:#fff;border-radius:15px;padding:6px;box-shadow:0 1px 5px #c9dcef35}.arrow-btn{border:0;background:#f1f7fe;border-radius:10px;color:#72a8db;width:31px;height:31px;font-size:23px;line-height:1}.month-label{min-width:152px;text-align:center;font-size:13px;font-weight:800;text-transform:capitalize}.legend{gap:18px;flex-wrap:wrap}.legend span,.paintbar{color:#91a4b8;font-size:10px;font-weight:700}.legend span{display:flex;align-items:center;gap:6px}.dot{display:inline-block;width:10px;height:10px;border-radius:4px;vertical-align:middle;flex-shrink:0}.dot.work{background:#a8e5be}.dot.off{background:#ffc6cf}.dot.empty{background:#e9f0f7;border:1px solid #cfdeea}.dot.note{background:#ffcd76}.paintbar{background:white;border-radius:14px;padding:12px 15px;display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:12px}.paint{border:1px solid #ecf3f9;padding:9px 13px;border-radius:9px;background:#fff;color:#7892ab;font-size:10px;font-weight:800}.paint.active{border-color:#87bdf0;background:#eaf5ff;color:#5197d6}.paint-hint{margin-left:auto;font-size:10px;color:#a2b3c4}.schedule-card{border-radius:19px;background:white;box-shadow:0 10px 40px #b8cee321;border:1px solid #e9f1f9;overflow:hidden}.schedule-scroll{overflow:auto;max-height:calc(100vh - 330px);min-height:155px}.schedule-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1060px;table-layout:fixed}.schedule-table th,.schedule-table td{text-align:center;border-bottom:1px solid #f0f5fa;border-right:1px solid #f0f5fa;height:49px}.schedule-table thead th{height:62px;position:sticky;top:0;background:#fafdff;z-index:3}.schedule-table th:first-child,.schedule-table td:first-child{position:sticky;left:0;z-index:2;background:white;min-width:166px;width:166px;text-align:left;padding-left:20px;box-shadow:4px 0 7px #e5eff933}.schedule-table thead th:first-child{z-index:4;background:#fafdff;color:#9bafc0;font-size:11px}.schedule-table thead th.dayhead{font-size:11px;color:#55728f}.schedule-table thead th.dayhead small{display:block;font-size:9px;margin-top:4px;color:#adbfcd;font-weight:600}.schedule-table thead th.weekend{background:#fff8f9}.schedule-table tbody td{padding:5px;cursor:pointer;transition:background .12s}.schedule-table tbody td:hover{background:#f0f8ff}.schedule-table .employee-name{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;white-space:nowrap}.employee-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;background:#eaf4ff;color:#6ba8dd;flex-shrink:0}.employee-name .name-text{overflow:hidden;text-overflow:ellipsis}.name-edit{border:0;background:none;margin-left:auto;color:#b8c8d7;padding:4px}.shift-cell{border:0;width:100%;height:34px;border-radius:8px;display:grid;place-items:center;position:relative;color:#9eb1c3;background:#f3f7fb;font-size:12px}.shift-cell.work{background:#d5f4de;color:#58a778}.shift-cell.off{background:#ffdee3;color:#df8693}.shift-cell .note-corner{width:6px;height:6px;position:absolute;top:3px;right:3px;background:#f9bc50;border-radius:50%;cursor:pointer;width:9px;height:9px;top:1px;right:1px}.schedule-table td.weekend{background:#fffcfc}.schedule-table tbody tr:last-child td{border-bottom:0}.empty-message{text-align:center;padding:35px;font-size:14px;font-weight:800}.empty-message span{display:block;font-size:11px;color:#a4b6c5;font-weight:500;margin-top:8px}footer{color:#aabac8;font-size:10px;margin-top:17px}.overlay{position:fixed;inset:0;background:#182f4b66;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.modal{width:min(470px,100%);background:white;border-radius:23px;padding:27px;box-shadow:0 24px 80px #24405a33;max-height:90vh;overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.modal h2{font-size:19px;letter-spacing:-.04em;margin:0}.close-btn{border:0;background:#f0f6fc;color:#849bb0;width:31px;height:31px;border-radius:10px;font-size:20px}.field-label{display:block;color:#69849d;font-size:11px;font-weight:800;margin:14px 0 7px}.field{border:1px solid #e3edf7;background:#fbfdff;width:100%;padding:13px;border-radius:11px;outline:none;color:#27445f;font-size:12px}.field:focus{border-color:#8ac4f7}.textarea{min-height:95px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.note-item{border:1px solid #e9f0f7;border-radius:12px;background:#f9fcff;padding:12px;margin:10px 0}.note-item .note-meta{font-size:10px;color:#82a2bd;font-weight:800;display:flex;justify-content:space-between}.note-item p{font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.link-danger{color:#dc8b99;border:0;background:transparent;font-size:11px}.status-box{padding:13px;background:#f4f9ff;border-radius:12px;font-size:12px;color:#7195b5}.small-muted{font-size:11px;color:#9aafc0;line-height:1.6}.toast{position:fixed;bottom:22px;right:22px;background:#284c70;color:white;padding:14px 20px;border-radius:12px;font-size:12px;z-index:50;box-shadow:0 8px 35px #294c7033}@media(max-width:760px){.welcome-screen{padding:30px}.welcome-decoration{display:none}.topbar{padding:0 16px}.content{padding-top:25px}.heading-row h1{font-size:23px}.legend{gap:10px}.toolbar{margin-top:25px}.schedule-scroll{max-height:calc(100vh - 370px)}.schedule-table th:first-child,.schedule-table td:first-child{width:124px;min-width:124px;padding-left:9px}.schedule-table .employee-name{font-size:10px}.employee-avatar{width:24px;height:24px}.paint-hint{display:none}}
