:root{--green: #1a7a4a;--green-soft: #e8f4ee;--ink: #1c2321;--muted: #5f6b66;--line: #e3e8e5;--bg: #fafcfa;--red: #b3402a;--red-soft: #fbeae6;--amber-soft: #fdf3e0;--content-max: 1100px;--content-pad: max(1rem, calc((100% - var(--content-max)) / 2))}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;padding:.55rem var(--content-pad);background:var(--green);color:#fff}.topbar__title{font-size:1.05rem;font-weight:700;white-space:nowrap}.topbar__nav{display:flex;gap:.2rem}.topbar__tab{border:none;background:none;color:#fff;opacity:.75;font-size:.9rem;min-height:40px;padding:0 .8rem;border-radius:8px;cursor:pointer}.topbar__tab--active{opacity:1;background:#ffffff26;font-weight:600}.topbar__user{margin-left:auto;font-size:.8rem;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__signout{border:1px solid rgba(255,255,255,.5);background:none;color:#fff;border-radius:8px;padding:.3rem .7rem;font-size:.8rem;cursor:pointer}main.page{padding:1.2rem var(--content-pad) 4rem}.auth{display:flex;justify-content:center;padding-top:8vh}.auth__card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:.8rem;padding:1.5rem 1.25rem;background:#fff;border:1px solid var(--line);border-radius:16px}.auth__title{margin:0;font-size:1.15rem}.auth__hint{margin:0;color:var(--muted);font-size:.9rem}.auth__input{min-height:48px;padding:0 .8rem;border:1px solid var(--line);border-radius:10px;font-size:1rem}.auth__input--code{text-align:center;letter-spacing:.4em;font-size:1.3rem}.auth__error{margin:0;min-height:1.2em;color:var(--red);font-size:.85rem}.auth__links{margin:0;font-size:.85rem;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:0 1.1rem;border:none;border-radius:10px;background:var(--green);color:#fff;font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer}.btn:disabled{opacity:.55;cursor:default}.btn--wide{width:100%}.btn--secondary{background:#fff;color:var(--green);border:1px solid var(--green)}.btn--small{min-height:34px;padding:0 .7rem;font-size:.85rem;font-weight:500}.btn--danger{background:#fff;color:var(--red);border:1px solid var(--red)}.input{min-height:40px;padding:0 .6rem;border:1px solid var(--line);border-radius:8px;font-size:.95rem;background:#fff}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;margin-bottom:1.2rem}.card__title{margin:0 0 .6rem;font-size:1.02rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.card__title .spacer{margin-left:auto}.tablewrap{overflow-x:auto}table.grid{width:100%;border-collapse:collapse;font-size:.9rem}table.grid th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:2px solid var(--line);padding:.45rem .6rem;white-space:nowrap}table.grid td{border-bottom:1px solid var(--line);padding:.4rem .6rem;vertical-align:middle}table.grid td.num,table.grid th.num{text-align:right;font-variant-numeric:tabular-nums}table.grid tr.total td{font-weight:700;border-top:2px solid var(--ink);border-bottom:none}table.grid .cell-input{width:5.5rem;min-height:34px;padding:0 .4rem;border:1px solid var(--line);border-radius:6px;font-size:.9rem;text-align:right}table.grid .cell-input--text{width:100%;min-width:8rem;text-align:left}.rowlink{color:var(--green);cursor:pointer;text-decoration:underline;background:none;border:none;font-size:inherit;padding:0}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge--ok{background:var(--green-soft);color:var(--green)}.badge--warn{background:var(--amber-soft);color:#8a6100}.badge--err{background:var(--red-soft);color:var(--red)}.notice{padding:.7rem .9rem;border-radius:10px;font-size:.9rem;margin-bottom:1rem}.notice--warn{background:var(--amber-soft)}.notice--err{background:var(--red-soft);color:var(--red)}.notice--ok{background:var(--green-soft)}.skulist{max-height:7.5rem;overflow-y:auto;margin-top:.4rem;padding:.4rem .6rem;background:#fff9;border-radius:6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}tr.diff--add td{background:var(--green-soft)}tr.diff--change td{background:var(--amber-soft)}tr.diff--remove td{background:var(--red-soft)}.muted{color:var(--muted)}.small{font-size:.85rem}.steps{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.step{padding:.3rem .8rem;border-radius:999px;font-size:.8rem;background:#fff;border:1px solid var(--line);color:var(--muted)}.step--active{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}.step--done{background:var(--green-soft);border-color:var(--green-soft);color:var(--green)}.dropzone{border:2px dashed var(--line);border-radius:12px;padding:1.4rem 1rem;text-align:center;color:var(--muted);font-size:.9rem;cursor:pointer;background:#fff}.dropzone--filled{border-color:var(--green);color:var(--ink);background:var(--green-soft)}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;align-items:end}.field label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.25rem}.field .input{width:100%}.summarybar{display:flex;gap:2rem;flex-wrap:wrap;padding:.8rem 1rem;background:var(--green-soft);border-radius:10px;margin-top:.8rem;font-size:.95rem}.summarybar strong{font-size:1.1rem}
