:root{color-scheme:light;--micom-red: #cc0000;--micom-red-bright: #ff0000;--micom-blue: #28416e;--micom-blue-light: #5582a0;--micom-gray: #898989;--micom-gray-light: #9f9f9f;--micom-bg: #f4f5f7;--micom-white: #ffffff;--micom-black: #000000;--border: #e6e8ec;--shadow-card: 0 8px 24px rgba(15, 23, 42, .08);--red: var(--micom-red);--red-bright: var(--micom-red-bright);--gray: var(--micom-gray);--gray-2: var(--micom-gray-light);--ink: #2a2d33;--blue: var(--micom-blue);--blue-2: var(--micom-blue-light);--paper: var(--micom-white);--surface: var(--micom-bg);--line: var(--border);--shadow: var(--shadow-card);font-family:PT Sans,Arial,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--micom-bg)}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:#cfd3da;border-radius:8px}::-webkit-scrollbar-track{background:#eef0f3}button,input,select,textarea{font:inherit}button,a,.upload{align-items:center;border:0;border-radius:8px;cursor:pointer;display:inline-flex;gap:8px;min-height:38px;padding:9px 12px;text-decoration:none;transition:background .15s ease,color .15s ease,transform .15s ease}button:hover,a:hover,.upload:hover{transform:translateY(-1px)}.topbar{align-items:center;background:var(--micom-white);border-bottom:1px solid var(--line);color:var(--ink);display:flex;justify-content:space-between;min-height:64px;padding:0 28px;position:sticky;top:0;z-index:50}.topbar nav{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.brand{align-items:center;display:flex;gap:12px}.brand img{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 2px 6px #cc00002e;height:38px;object-fit:contain;padding:4px;width:38px}.brand span{color:var(--red);display:block;font-size:12px;font-weight:800;text-transform:uppercase}.brand strong{color:var(--blue);display:block;font-size:20px;line-height:1.1}.user-chip{align-items:flex-end;display:grid;line-height:1.1;text-align:right}.user-chip b{font-size:14px}.user-chip span{color:var(--gray);font-size:12px}.chat-link,.nav-button{background:#f4f6f8;border:1px solid var(--line);color:var(--blue)}.logout-button{background:#eef3f7;color:#fff;color:var(--blue)}.auth-shell{align-items:center;display:grid;min-height:100vh;padding:24px;place-items:center}.auth-card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);display:grid;gap:14px;max-width:440px;padding:26px;width:min(100%,440px)}.auth-brand{align-items:center;display:flex;gap:12px}.auth-brand img{border:1px solid var(--line);border-radius:9px;height:54px;width:54px}.auth-brand span{color:var(--red);display:block;font-size:13px;font-weight:800}.auth-brand strong{color:var(--blue);display:block;font-size:22px}.auth-card h1{color:var(--blue);font-size:25px;margin:5px 0 0}.auth-card p,.password-rule{color:var(--gray);line-height:1.45;margin:0}.form-error{background:#fff0f0;border:1px solid #f1b3b3;border-radius:7px;color:var(--red);font-size:14px;padding:9px 10px}.site-link{color:var(--blue);justify-content:center}.workspace{display:grid;gap:22px;grid-template-columns:262px minmax(0,1fr);padding:22px 28px 40px}.sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:86px;align-self:start}.month-card,.filter-group,.legend,.project-add,.quick-actions,.import-preview{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:none;padding:16px}.month-switch{align-items:center;display:grid;gap:8px;grid-template-columns:38px 1fr 38px;margin-bottom:14px}.month-switch button{background:#eef3f7;color:var(--blue);justify-content:center;padding:0}.month-switch div{min-width:0;text-align:center}.month-switch b{color:var(--blue);display:block;font-size:18px}.month-switch select{border:0;color:var(--gray);margin-top:3px;outline:0}.primary{background:var(--red);color:#fff;justify-content:center;width:100%}.primary:hover{background:var(--red-bright)}.filter-group{display:grid;gap:10px}label{display:grid;gap:7px}label span,.filter-group span{align-items:center;color:var(--blue);display:flex;font-size:13px;font-weight:700;gap:6px}input,select,textarea{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:38px;padding:8px 10px;width:100%}textarea{resize:vertical}.legend h2,.project-add h2,.import-preview h2,.quick-actions h2{color:var(--blue);font-size:12px;font-weight:800;margin:0 0 12px;text-transform:uppercase}.legend{display:grid;gap:9px;grid-template-columns:1fr 1fr}.legend span{align-items:center;background:transparent;border:0;border-radius:0;display:inline-flex;font-size:12px;gap:6px;padding:0}.legend h2{grid-column:1 / -1}.legend i{border:1px solid rgba(0,0,0,.12);border-radius:4px;display:inline-block;height:13px;width:13px}.project-add{display:grid;gap:10px}.quick-actions{display:grid;gap:8px}.quick-actions a{background:transparent;border:0;color:var(--blue);justify-content:flex-start;padding:8px 0}.inline{display:grid;gap:8px;grid-template-columns:48px 1fr}.inline input[type=color]{height:38px;padding:3px}.inline button{background:var(--blue);color:#fff;justify-content:center}.content{min-width:0}.toolbar{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:18px}.toolbar p{color:var(--gray);font-size:13px;margin:0 0 4px}.toolbar h1{color:var(--blue);font-size:28px;margin:0}.actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.actions a,.upload{background:#fff;border:1px solid var(--line);color:var(--blue);position:relative}.day-overview{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.day-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:none;padding:16px 18px}.day-card>div{align-items:baseline;display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.day-card h2{color:var(--blue);font-size:16px;margin:0}.day-card span{color:var(--gray);font-size:13px}.day-card ul{display:grid;gap:7px;list-style:none;margin:0;padding:0}.day-card li{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.day-card b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-card em{border:1px solid rgba(0,0,0,.08);border-radius:8px;font-size:12px;font-style:normal;max-width:128px;overflow:hidden;padding:4px 7px;text-overflow:ellipsis;white-space:nowrap}.upload input{inset:0;opacity:0;position:absolute}.schedule-frame{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:none;max-height:calc(100vh - 280px);overflow:auto;padding:8px}.schedule-table{border-collapse:separate;border-spacing:4px;min-width:1620px;width:100%}.schedule-table th,.schedule-table td{border:0;border-radius:8px;height:42px;min-width:46px;overflow:hidden;padding:0;text-align:center}.schedule-table thead th{background:#fff;color:#3c4149;font-size:13px;position:sticky;top:-8px;z-index:3}.schedule-table thead th span,.schedule-table thead th small{display:block}.schedule-table thead th span{color:#3c4149;font-size:13px;font-weight:800}.schedule-table thead th small{color:#a2a8b0;font-size:10px;font-weight:700;margin-top:2px}.schedule-table .employee-col{border-radius:0;background:#fff;left:0;min-width:188px;padding:8px 12px 8px 6px;position:sticky;text-align:left;z-index:4}.schedule-table tbody .employee-col{z-index:2}.schedule-table .employee-col b{display:block;font-size:14px}.schedule-table .employee-col small{color:var(--gray);display:block;font-size:12px;margin-top:3px}.schedule-table td.weekend,.schedule-table th.weekend{box-shadow:none}.schedule-table thead th.weekend span,.schedule-table thead th.weekend small{color:#b9bec6}.schedule-table thead th.today span,.schedule-table thead th.today small{color:var(--red)}.schedule-table td.today,.schedule-table th.today{box-shadow:inset 0 0 0 1.5px var(--red)}.schedule-table td.selected{box-shadow:inset 0 0 0 2px var(--blue)}.schedule-table td:hover{filter:saturate(1.05) brightness(.98)}.schedule-table td button{background:transparent;border-radius:8px;color:#172033;display:block;font-size:11px;font-weight:800;height:100%;line-height:1.15;min-height:42px;overflow-wrap:anywhere;padding:2px 4px;width:100%}.schedule-table td.status-weekend button{font-weight:700}.schedule-table td button:disabled{cursor:default}.schedule-table td button:hover{background:#ffffff6b;transform:none}.import-preview{margin-top:14px}.import-preview p{color:var(--gray);margin:0 0 10px}.import-preview div{overflow:auto}.import-preview table{border-collapse:collapse;width:100%}.import-preview td{border:1px solid var(--line);padding:7px 9px}.modal-backdrop{align-items:center;background:#09122275;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10}.editor{background:#fff;border-radius:14px;box-shadow:0 22px 70px #00000047;display:grid;gap:14px;max-width:480px;padding:18px;width:min(100%,480px)}.editor-head{align-items:start;display:flex;justify-content:space-between}.editor-head p{color:var(--gray);margin:0 0 4px}.editor-head h2{color:var(--blue);font-size:22px;margin:0}.ghost{background:#eef3f7;color:var(--blue);justify-content:center}.icon-ghost{background:#eef3f7;color:var(--blue);justify-content:center;min-height:36px;padding:0;width:36px}.wide{width:100%}.editor-actions{display:grid;gap:8px;grid-template-columns:1.2fr .9fr .9fr}.history{border-top:1px solid var(--line);display:grid;gap:7px;padding-top:12px}.history h3{align-items:center;color:var(--blue);display:flex;font-size:15px;gap:7px;margin:0}.history p,.history span{color:var(--gray);font-size:13px;margin:0}@media(max-width:980px){.workspace{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-frame{max-height:70vh}.day-overview{grid-template-columns:1fr}}@media(max-width:680px){.topbar,.toolbar{align-items:stretch;flex-direction:column}.workspace{padding:12px}.sidebar{grid-template-columns:1fr}.actions{justify-content:stretch}.actions a,.upload{justify-content:center;flex:1}.editor-actions{grid-template-columns:1fr}}
