:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:#2e3338;background:#f5f5f6;font-size:13px;--line:#d9dce0;--accent:#466e92}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select,input,textarea{border:1px solid #c9cdd2;border-radius:4px;background:#fff;color:inherit;padding:5px 8px}button{cursor:pointer;white-space:nowrap;box-shadow:0 1px 1px #00000009}button:hover{background:#f0f3f6}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.danger{color:#984a44}input:focus,select:focus{outline:2px solid #8faac1;outline-offset:1px}a{color:var(--accent)}.loading,.empty{padding:40px;color:#72787f}.login{max-width:340px;margin:16vh auto;padding:26px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 5px 20px #00000008}.login h1{font-size:20px;margin:0 0 8px;font-weight:600}.login p{color:#72787f;margin:0 0 22px}.login label{display:block;margin:12px 0}.login input{width:100%;margin-top:6px;padding:8px}.login button{width:100%;margin-top:10px}.error{color:#a34238}.shell{display:grid;grid-template-columns:160px minmax(0,1fr);grid-template-rows:52px minmax(0,1fr);min-height:100vh}.topbar{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--line);background:#fafafa}.brand{font-weight:600;font-size:15px}.spacer{flex:1}.user{color:#687079}.sidebar{padding:20px 10px;border-right:1px solid var(--line);background:#eceef0}.sidebar button{display:block;width:100%;text-align:left;margin-bottom:5px;border:0;background:transparent;box-shadow:none;padding:9px 12px}.sidebar button.selected{background:#dae3ec;color:#355b7f}.sidebar small{display:block;padding:15px 12px;color:#72787f;line-height:1.6}.main{min-width:0;padding:18px}.toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px}.toolbar h1{font-size:17px;margin:0 14px 0 0;font-weight:600}.summary{display:flex;gap:18px;flex-wrap:wrap;padding:10px 12px;background:#fff;border:1px solid var(--line);margin-bottom:12px;font-size:12px;color:#5c6570}.state{font-weight:600}.state.VALID{color:#487451}.state.STALE{color:#996927}.state.INVALID{color:#a54c42}.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.workspace.editing{grid-template-columns:minmax(0,3fr) minmax(220px,1fr)}.days{min-width:0}.day{border:1px solid var(--line);background:white;margin-bottom:14px;border-radius:5px;overflow:hidden}.day-header{padding:8px 10px;background:#f1f2f4;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.day-header strong{font-size:13px}.drag-handle{font-size:12px;color:#78808b}.teams{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.team{min-width:0}.team+.team{border-left:1px solid var(--line)}.team-head{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#fbfbfc;border-bottom:1px solid var(--line)}.team-head strong{font-size:12px}.team.b .team-head strong{color:#8c6944}.team.a .team-head strong{color:#496c8b}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}th{font-weight:500;background:#fafafa;color:#6c737c;text-align:left}td,th{padding:7px 5px;border-bottom:1px solid #eceef0}tbody tr:last-child td{border-bottom:0}td input{padding:3px;width:54px;font-size:11px}td input[type=time]{width:74px}td input.memo{width:95px}.location-name{max-width:170px;white-space:normal;min-width:90px}.location-name small{display:block;color:#87909a}.badge{display:inline-block;font-size:10px;padding:2px 4px;background:#edf1f5;color:#526d82;border:1px solid #d7e0e9;border-radius:3px}.badge.warn{background:#faf2e3;color:#956d27}.row-selected{background:#f0f5fa}tr[draggable=true]{cursor:grab}.pool{border:1px solid var(--line);background:#fafafa;border-radius:5px;padding:12px;align-self:start;position:sticky;top:12px;max-height:78vh;overflow:auto}.pool h2{font-size:13px;margin:0 0 10px}.pool input[type=search]{width:100%;margin-bottom:8px}.target{display:flex;gap:4px;margin:8px 0}.target select{min-width:0;max-width:70%}.chips{display:grid;gap:5px}.chip{text-align:left;white-space:normal;font-size:12px;padding:7px 8px}.chip small{display:block;color:#7c848d;margin-top:3px}.issues{border:1px solid #ddcba9;background:#fffaf1;padding:10px 12px;margin:12px 0;font-size:12px}.issues ul{padding-left:18px;margin:6px 0;max-height:180px;overflow:auto}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#303942;color:#fff;padding:10px 16px;border-radius:5px;z-index:10000;max-width:90%;box-shadow:0 3px 10px #0002}dialog{border:1px solid #c8cdd2;border-radius:7px;max-width:min(780px,94vw);max-height:88vh;padding:22px;box-shadow:0 12px 40px #0003}dialog::backdrop{background:#0003}dialog h2{font-size:17px;margin:0 0 14px}dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.map{height:calc(100vh - 210px);min-height:400px;border:1px solid var(--line);border-radius:5px}.compare-grid{overflow:auto}.compare-grid td{font-size:13px}.mobile-help{display:none}.status-note{color:#986a2d}.day-target.dragover{outline:2px solid var(--accent);outline-offset:2px}.edit-actions{display:flex;gap:3px}.edit-actions button{font-size:11px;padding:3px 5px}.account-name{font-weight:500}@media(min-width:1600px){table{font-size:12px}td,th{padding:8px}.location-name{max-width:220px}}@media(max-width:1100px){.main{padding:12px}.shell{grid-template-columns:140px minmax(0,1fr)}.workspace.editing{grid-template-columns:minmax(0,1fr) 230px}.teams{grid-template-columns:1fr}.team+.team{border-left:0;border-top:1px solid var(--line)}}@media(min-width:768px) and (max-width:1100px){.teams{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:700px){.shell{display:block}.topbar{height:auto;min-height:52px;padding:10px;flex-wrap:wrap;gap:8px}.brand{font-size:14px}.user{display:none}.sidebar{display:flex;padding:6px;border-right:0;border-bottom:1px solid var(--line)}.sidebar button{width:auto;margin:0}.sidebar small{display:none}.main{padding:10px}.workspace.editing{grid-template-columns:1fr}.pool{position:static;max-height:330px}.toolbar{gap:5px}.toolbar h1{width:100%;margin-bottom:5px}.summary{gap:8px;font-size:11px}.map{height:65vh;min-height:320px}.login{margin:12vh 18px;max-width:none}.team-head{position:sticky;left:0}.mobile-help{display:block;color:#848b94;font-size:11px}}
