:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2933;background:#f4f7f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:0}.app-shell{min-height:100vh}.loading-screen{display:grid;min-height:100vh;place-items:center;align-content:center;gap:12px;color:#1c5552;font-weight:700}.auth-screen{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(28,85,82,.12),transparent 42%),linear-gradient(315deg,rgba(176,84,50,.14),transparent 38%),#f4f7f6}.auth-panel{width:min(100%,420px);border:1px solid #d7e0dd;border-radius:8px;padding:32px;background:#fff;box-shadow:0 18px 50px #192d341f}.auth-brand{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;width:58px;height:58px;place-items:center;border-radius:8px;color:#fff;background:#1c5552}.auth-panel h1,.topbar h1,.history-section h2,.panel-heading h2{margin:0;line-height:1.2;letter-spacing:0}.auth-panel h1{font-size:2rem}.auth-panel p{color:#5d6b75}.auth-form,.content,.note-panel,.work-panel,.history-section{display:flex;flex-direction:column}.auth-form{gap:12px;margin-top:24px}label,.eyebrow,.time-grid span,.summary-grid span,.user-block small{color:#65737e;font-size:.84rem}.input-with-icon,.month-picker{display:flex;align-items:center;gap:10px;border:1px solid #cfd9d6;border-radius:8px;background:#fff}.input-with-icon{padding:0 14px}input,select,textarea{width:100%;border:1px solid #cfd9d6;border-radius:8px;color:#1f2933;background:#fff}.input-with-icon input,.month-picker input{border:0;border-radius:0;outline:0}input{height:44px;padding:0 12px}input[type=checkbox]{width:18px;height:18px;padding:0;accent-color:#1c5552}select{height:44px;padding:0 12px}textarea{min-height:140px;resize:vertical;padding:12px;line-height:1.6}.clock-in-form{display:grid;gap:8px}.current-clock{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;min-height:76px;border-radius:8px;padding:16px 18px;text-align:center;color:#173f3d;background:#dbe9e6}.clock-status{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border-radius:999px;padding:0 14px;font-size:.9rem;font-weight:800}.clock-status.working{color:#fff;background:#1c5552}.clock-status.off-work{color:#fff;background:#52616b}.clock-status.not-started{color:#52616b;background:#fff}.current-clock strong{font-size:clamp(2rem,4vw,3.2rem);line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}.clock-in-form textarea{min-height:84px}.primary-button,.secondary-button,.danger-button,.ghost-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:8px;padding:0 16px;cursor:pointer;transition:transform .12s ease,opacity .12s ease,background-color .12s ease}.primary-button{color:#fff;background:#1c5552}.secondary-button{color:#173f3d;background:#dbe9e6}.muted-button{color:#52616b;background:#d9e0de}.danger-button{color:#fff;background:#ad3f32}.ghost-button{width:100%;color:#2f4f4c;background:#eef4f2}.icon-button{width:44px;padding:0;color:#fff;background:#1c5552;flex:0 0 44px}button:not(:disabled):hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45}.message{border-radius:8px;padding:12px 14px}.message.success{color:#22543d;background:#e0f2e9}.message.error{color:#8a241b;background:#fbe4df}.message.warning{color:#7a4a12;background:#fff4d7}.message.info{color:#24506f;background:#e4f1fb}.toast-message{position:fixed;top:20px;right:20px;z-index:80;width:min(420px,calc(100vw - 40px));margin:0;box-shadow:0 16px 45px #18242a2e}.dashboard{display:grid;min-height:100vh;grid-template-columns:280px 1fr}.sidebar{display:flex;flex-direction:column;gap:24px;padding:28px;border-right:1px solid #d7e0dd;background:#fff}.sidebar-title{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:800}.user-block{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;min-width:0;padding:16px;border:1px solid #d7e0dd;border-radius:8px}.user-block div{min-width:0}.user-block strong,.user-block small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-menu{display:grid;gap:8px}.menu-button{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;border-radius:8px;padding:0 12px;color:#52616b;background:transparent;cursor:pointer}.menu-button.active{color:#fff;background:#1c5552;font-weight:700}.menu-button:not(.active):hover{background:#eef4f2}.content{gap:24px;padding:32px}.topbar,.section-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-actions{display:flex;align-items:center;gap:10px}.topbar h1{margin-top:4px;font-size:clamp(1.7rem,3vw,2.5rem)}.status-pill{display:inline-flex;align-items:center;min-height:38px;border-radius:999px;padding:0 16px;color:#fff;background:#b05432;font-weight:700;white-space:nowrap}.today-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.work-panel,.note-panel,.history-section,.settings-section,.settings-panel{gap:18px;border:1px solid #d7e0dd;border-radius:8px;padding:22px;background:#fff}.settings-section,.settings-panel{display:flex;flex-direction:column}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-panel{align-items:stretch}.settings-action-list{display:grid;gap:12px}.settings-action{display:flex;align-items:center;gap:14px;width:100%;border:1px solid #d7e0dd;border-radius:8px;padding:16px;color:#21313a;background:#f8fbfa;text-align:left}.settings-action:hover{border-color:#b8cbc6;background:#f1f7f5}.settings-action-icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:8px;color:#2f6f62;background:#e6f1ee}.settings-action strong,.settings-action small{display:block}.settings-action strong{font-size:1rem}.settings-action small{margin-top:4px;color:#65737e}.full-panel{width:100%}.panel-section-header{margin-bottom:4px}.check-row{display:inline-flex;align-items:center;gap:8px;color:#1f2933}.compact-check{min-height:34px;border-radius:8px;padding:6px 10px;background:#f4f7f6}.assignment-list{display:grid;gap:10px}.assignment-row{display:grid;grid-template-columns:minmax(180px,260px) 1fr auto;align-items:center;gap:16px;border-radius:8px;padding:14px;background:#f4f7f6}.assignment-row strong,.assignment-row small{display:block}.user-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.user-title-row strong{display:inline}.assignment-row small{margin-top:4px;color:#65737e}.user-rate-line{display:block;line-height:1.5}.assignment-projects{display:flex;flex-wrap:wrap;gap:8px}.assignment-actions{display:flex;gap:8px;justify-content:flex-end}.assignment-project{display:flex;align-items:center;gap:6px;border-radius:8px;background:#f4f7f6}.assignment-project .compact-check{background:transparent}.assignment-project small{margin:0;color:#8a6d3b;font-size:.76rem}.danger-text{margin:0;color:#b05432;font-weight:700;line-height:1.6}.confirm-text{margin:0;color:#52616b;line-height:1.7}.invoice-preview{display:grid;gap:10px;margin:0;padding:14px;border:1px solid #d7e0dd;border-radius:8px;background:#f8fbfa}.invoice-preview div{display:flex;align-items:center;justify-content:space-between;gap:16px}.invoice-preview dt{color:#65737e}.invoice-preview dd{margin:0;color:#1f2d3a;font-weight:700;text-align:right}.compact-table table{min-width:520px}.panel-heading h3{margin:0;font-size:1rem}.time-grid,.summary-grid{display:grid;gap:12px}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-summary div{min-height:78px}.time-grid div,.summary-grid div{display:flex;min-height:96px;flex-direction:column;justify-content:center;gap:8px;border-radius:8px;padding:16px;background:#f4f7f6}.time-grid strong,.summary-grid strong{font-size:1.35rem}.time-grid strong small{display:block;margin-bottom:4px;color:#65737e;font-size:.8rem;font-weight:600}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.session-list{display:grid;gap:8px}.session-list-header,.session-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.session-list-header{color:#52616b;font-size:.9rem}.session-row{min-height:44px;border-radius:8px;padding:10px 12px;background:#f4f7f6}.row-actions,.table-actions,.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.mini-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border-radius:8px;padding:0 10px;color:#173f3d;background:#dbe9e6;cursor:pointer;white-space:nowrap}.danger-mini{color:#8a241b;background:#fbe4df}.session-row span{display:grid;gap:4px;min-width:0}.session-row b{color:#173f3d;font-size:.86rem}.session-row small{overflow:hidden;color:#65737e;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.project-summary{display:grid;gap:8px}.project-card-list{display:grid;gap:12px}.project-card{display:grid;gap:14px;border:1px solid #d7e0dd;border-radius:8px;padding:16px;background:#f9fbfa}.project-card-main{display:flex;align-items:start;justify-content:space-between;gap:12px}.project-card-main strong{display:block;margin-top:4px;font-size:1.08rem}.project-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.project-status{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 12px;color:#fff;background:#1c5552;font-size:.84rem;font-weight:700;white-space:nowrap}.project-status.inactive{background:#52616b}.project-status.default-status{color:#173f3d;background:#dbe9e6}.project-client-grid{display:grid;grid-template-columns:1.1fr .7fr 1.6fr .8fr;gap:12px}.project-client-grid span{display:block;margin-bottom:4px;color:#65737e;font-size:.8rem}.project-client-grid p{margin:0;line-height:1.5}.project-card-actions{display:flex;gap:8px;justify-content:flex-end}.empty-inline{color:#65737e;font-size:.9rem}.project-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:48px;border-radius:8px;padding:10px 12px;background:#f4f7f6}.project-row span{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.project-row small{color:#65737e}.session-row em{color:#7a4a12;font-size:.78rem;font-style:normal;font-weight:700}.empty-row{justify-content:center;color:#65737e}.panel-heading{display:flex;align-items:center;gap:8px}.panel-heading h2,.history-section h2{font-size:1.2rem}.month-picker{padding-left:12px}.month-picker input{width:150px}.table-wrap{overflow-x:auto;border:1px solid #d7e0dd;border-radius:8px}.output-table{max-height:52vh;overflow-y:auto}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:14px 16px;border-bottom:1px solid #e5ece9;text-align:left;vertical-align:top}th{color:#52616b;background:#f4f7f6;font-size:.84rem;font-weight:700}tr:last-child td{border-bottom:0}.note-cell{max-width:280px;color:#52616b}.locked-label{color:#65737e;font-size:.84rem;font-weight:700}.empty-cell{color:#65737e;text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#18242a73}.modal-panel{display:flex;width:min(100%,760px);max-height:86vh;flex-direction:column;gap:18px;border-radius:8px;padding:22px;background:#fff;box-shadow:0 20px 70px #18242a3d;overflow:hidden}.edit-panel{width:min(100%,560px)}.edit-grid{display:grid;gap:10px;overflow-y:auto;padding-right:4px}.single-column-grid{max-width:560px}.edit-grid textarea{min-height:110px}.modal-actions{flex-shrink:0;justify-content:space-between}.light-button{color:#52616b;background:#eef4f2}@media(max-width:960px){.dashboard{grid-template-columns:1fr}.sidebar{position:static;display:grid;grid-template-columns:1fr;border-right:0;border-bottom:1px solid #d7e0dd}.side-menu,.today-layout,.settings-grid,.time-grid,.summary-grid,.action-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.content,.sidebar,.auth-screen,.auth-panel,.work-panel,.note-panel,.history-section{padding:18px}.topbar,.section-header,.section-actions{align-items:stretch;flex-direction:column}.today-layout,.settings-grid,.time-grid,.summary-grid,.action-grid,.assignment-row,.project-client-grid{grid-template-columns:1fr}.icon-button{width:100%}.modal-backdrop{align-items:start;padding:12px}.modal-panel{max-height:calc(100dvh - 24px);padding:18px}.toast-message{top:12px;right:12px;width:calc(100vw - 24px)}}
