:root{color:var(--tg-theme-text-color,#111827);background:var(--tg-theme-secondary-bg-color,#eef2f6);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top, #287cff14, transparent 340px), var(--tg-theme-secondary-bg-color,#eef2f6);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{justify-content:center;min-height:100vh;display:flex}.report-form{background:var(--tg-theme-bg-color,#fff);width:min(100%,760px);min-height:100vh;box-shadow:0 0 40px #25344914}.topbar{z-index:10;min-height:70px;padding:max(10px, env(safe-area-inset-top)) 20px 10px;background:color-mix(in srgb, var(--tg-theme-bg-color,#fff) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid #e8edf2;grid-template-columns:88px 1fr 88px;align-items:center;display:grid;position:sticky;top:0}.topbar h1{text-align:center;margin:0;font-size:clamp(20px,4vw,27px);line-height:1.1}.icon-button,.action-button{cursor:pointer;background:0 0;border:0}.close-button{width:44px;height:44px;color:var(--tg-theme-button-color,#0a73e8);padding:0;font-size:40px;font-weight:200;line-height:36px}.draft-label{color:var(--tg-theme-link-color,#0a73e8);justify-self:end;font-size:16px}.meta-card,.works-section,.comment-field{margin-inline:clamp(16px,4vw,28px)}.period-warning{color:#704d08;background:#fff8e7;border:1px solid #efc66c;border-radius:14px;margin:14px clamp(16px,4vw,28px) 0;padding:14px 16px}.period-warning p{margin:7px 0 0;line-height:1.4}.period-warning code{overflow-wrap:anywhere}.period-warning button{min-height:36px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:9px;margin-top:10px;padding:0 13px}.meta-card{background:#fff;border:1px solid #e3e8ee;border-radius:18px;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:20px;margin-top:18px;padding:18px 20px;display:grid;box-shadow:0 7px 20px #1f354d12}.field{color:#657184;flex-direction:column;gap:6px;min-width:0;font-size:13px;display:flex}.field input,.field select,.field textarea,.work-input,.comment-field textarea{color:#111827;background:#fff;border:1px solid #d8e0e8;border-radius:12px;outline:none;width:100%;min-width:0;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus,.work-input:focus,.comment-field textarea:focus{border-color:#147df5;box-shadow:0 0 0 3px #147df51f}.field input,.field select{height:46px;padding:0 13px;font-size:16px}.period-fields{grid-template-columns:minmax(150px,1fr) 120px;gap:10px;display:grid}.employee{white-space:nowrap;align-items:center;gap:10px;min-height:46px;padding-bottom:2px;font-size:16px;display:flex}.employee-icon{color:#78869a;border:2px solid #78869a;border-radius:50%;place-items:center;width:30px;height:30px;font-size:9px;display:grid}.works-section{margin-top:30px}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.section-heading h2{margin:0;font-size:clamp(22px,4.2vw,29px);line-height:1.15}.count-badge{color:#096cdc;background:#eaf3ff;border-radius:999px;flex:none;padding:8px 15px;font-size:14px}.inline-note{color:#936500;margin:-4px 0 12px;font-size:12px}.api-error{color:#8f3d2b;background:#fff7f4;border:1px solid #f0c9bf;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:-4px 0 12px;padding:10px 12px;font-size:12px;display:flex}.api-error button{min-height:32px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:9px;flex:none;padding:0 12px}.work-list{flex-direction:column;gap:12px;display:flex}.work-card{background:#fff;border:1px solid #dfe6ed;border-radius:17px;padding:14px 16px 16px;transition:border-color .15s;box-shadow:0 5px 15px #233a5311}.work-card--invalid{border-color:#e45656}.work-card__top{grid-template-columns:46px minmax(0,1fr) 42px 42px;align-items:center;gap:10px;display:grid}.row-number{color:#076cdf;background:#f0f7ff;border:1px solid #b9d6fa;border-radius:12px;place-items:center;width:46px;height:46px;font-size:21px;font-weight:700;display:grid}.work-input{height:46px;padding:0 14px;font-size:16px}.action-button{border-radius:10px;width:42px;height:42px;font-size:26px;line-height:1}.action-button:hover{background:#f2f6fa}.action-button:disabled,.add-button:disabled{opacity:.45;cursor:not-allowed}.duplicate-button{color:#0875ed}.delete-button{color:#e02424;font-size:34px;font-weight:200}.work-card__fields{grid-template-columns:minmax(240px,2.5fr) minmax(80px,.7fr) minmax(75px,.6fr) minmax(130px,1fr);gap:10px;margin-top:12px;display:grid}.work-comment-field{margin-top:12px}.work-comment-field textarea{resize:vertical;min-height:70px;font:inherit;padding:11px 13px}.field-error{color:#c62828;margin:9px 0 0;font-size:12px}.add-button{color:#086cd8;cursor:pointer;background:#fbfdff;border:1px dashed #1680fa;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;margin-top:14px;font-size:16px;font-weight:600;display:flex}.add-button span{font-size:25px;line-height:1}.comment-field{color:#657184;flex-direction:column;gap:8px;margin-top:20px;font-size:14px;display:flex}.comment-field textarea{resize:vertical;min-height:72px;padding:12px 14px;font-size:15px}.form-spacer{height:155px}.submit-panel{z-index:20;width:min(100%,760px);padding:14px clamp(16px, 4vw, 28px) max(16px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--tg-theme-bg-color,#fff) 96%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid #e3e8ee;border-radius:22px 22px 0 0;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 25px #1f354d17}.validation-state{color:#967000;align-items:center;gap:8px;margin:0 4px 11px;font-size:14px;display:flex}.validation-state span{border:2px solid;border-radius:50%;place-items:center;width:23px;height:23px;font-weight:700;display:grid}.validation-state--ok{color:#079447}.submit-notice{color:#31516f;margin:-2px 4px 10px;font-size:13px}.access-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.access-card{background:var(--surface,#fff);text-align:center;border-radius:18px;width:min(100%,360px);padding:28px 22px;box-shadow:0 10px 32px #1f415b1f}.access-card h1{margin:14px 0 8px;font-size:20px}.access-card p{color:#526777;margin:0;line-height:1.45}.access-card .access-hint{color:#7b8c98;margin-top:12px;font-size:12px}.access-icon{color:#c84e34;background:#fff0ec;border-radius:50%;place-items:center;width:42px;height:42px;margin:0 auto;font-size:24px;font-weight:700;display:grid}.access-spinner{border:4px solid #dce8f2;border-top-color:var(--tg-theme-button-color,#087df2);border-radius:50%;width:38px;height:38px;margin:0 auto;animation:.8s linear infinite access-spin}@keyframes access-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.access-spinner{animation:none}}.access-retry{min-height:42px;color:var(--tg-theme-button-text-color,#fff);background:var(--tg-theme-button-color,#087df2);font:inherit;cursor:pointer;border:0;border-radius:12px;margin-top:18px;padding:0 22px;font-weight:700}.submit-button{width:100%;min-height:54px;color:var(--tg-theme-button-text-color,#fff);background:var(--tg-theme-button-color,linear-gradient(135deg, #087df2, #0865d8));cursor:pointer;border:0;border-radius:14px;font-size:17px;font-weight:700;box-shadow:0 7px 18px #0767d93b}.submit-button:disabled{opacity:.65;cursor:not-allowed}.dialog-backdrop{z-index:100;padding:max(18px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8f;place-items:center;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid color-mix(in srgb, var(--tg-theme-hint-color,#78869a) 25%, transparent);width:min(100%,520px);max-height:min(82vh,680px);color:var(--tg-theme-text-color,#111827);background:var(--tg-theme-bg-color,#fff);border-radius:20px;flex-direction:column;padding:22px;display:flex;box-shadow:0 24px 70px #0f172a47}.confirm-dialog h2{margin:0;font-size:23px;line-height:1.2}.confirm-dialog__description{color:var(--tg-theme-hint-color,#5f6f82);margin:10px 0 0;line-height:1.45}.confirm-dialog__actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.confirm-dialog__button{cursor:pointer;border-radius:12px;min-height:48px;padding:9px 14px;font-weight:700}.confirm-dialog__button:focus-visible{outline:3px solid color-mix(in srgb, var(--tg-theme-link-color,#147df5) 35%, transparent);outline-offset:2px}.confirm-dialog__button:disabled{opacity:.6;cursor:not-allowed}.confirm-dialog__button--secondary{color:var(--tg-theme-text-color,#223247);background:var(--tg-theme-secondary-bg-color,#eef2f6);border:1px solid #cad4df}.confirm-dialog__button--primary{color:var(--tg-theme-button-text-color,#fff);background:var(--tg-theme-button-color,#0875ed);border:0}.confirm-dialog__button--danger{color:#fff;background:#d92d20;border:0}.submit-summary{overscroll-behavior:contain;min-height:0;margin-top:18px;overflow:auto}.submit-summary>strong{margin-bottom:9px;display:block}.submit-summary__list{counter-reset:summary-position;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.submit-summary__list li{overflow-wrap:anywhere;counter-increment:summary-position;border:1px solid #dfe6ed;border-radius:12px;gap:3px;padding:11px 12px 11px 42px;display:grid;position:relative}.submit-summary__list li:before{content:counter(summary-position);color:#086cd8;background:#eaf3ff;border-radius:7px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid;position:absolute;top:11px;left:12px}.submit-summary__list span{color:var(--tg-theme-hint-color,#5f6f82);font-size:13px}.submit-summary__comment{background:var(--tg-theme-secondary-bg-color,#eef2f6);overflow-wrap:anywhere;border-radius:12px;margin-top:12px;padding:11px 12px}.submit-summary__comment p{white-space:pre-wrap;margin:5px 0 0;line-height:1.4}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){body{background:var(--tg-theme-bg-color,#fff)}.topbar{grid-template-columns:58px 1fr 68px;min-height:62px;padding-inline:12px}.draft-label{font-size:13px}.meta-card{grid-template-columns:1fr;gap:9px;margin-top:12px;padding:14px}.period-fields{grid-template-columns:minmax(0,1fr) 112px}.employee{min-height:36px}.works-section{margin-top:24px}.section-heading h2{font-size:22px}.count-badge{padding:7px 11px;font-size:12px}.work-card{padding:12px}.work-card__top{grid-template-columns:42px minmax(0,1fr) 38px 38px;gap:7px}.row-number,.work-input{height:42px}.row-number{width:42px;font-size:18px}.work-input{padding-inline:11px;font-size:14px}.action-button{width:38px;height:38px}.work-card__fields{grid-template-columns:minmax(0,1fr) 100px 132px;gap:7px}.object-field{grid-column:1/-1}.field input,.field select{height:43px;padding-inline:9px;font-size:14px}}@media (width<=410px){.work-card__top{grid-template-columns:38px minmax(0,1fr) 34px 34px;gap:5px}.row-number{width:38px}.action-button{width:34px;padding:0}.work-card__fields{grid-template-columns:minmax(0,1fr) 88px}.object-field,.hours-field{grid-column:1/-1}.confirm-dialog{border-radius:17px;padding:18px 15px}.confirm-dialog__actions{grid-template-columns:1fr}}
