
:root{color-scheme:light;--ink:#20333e;--muted:#526b76;--line:#d5dfe3;--soft:#f6f9fa;--rest:#e8ecee;--green:#e4f2e9;--green-ink:#286245;--red:#b34538;--gutter:104px;--row1:#176b87;--row2:#b76520;--row3:#7654a7;--row4:#087b76;--row5:#815735}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font:15px/1.45 'Noto Sans JP',sans-serif;color:var(--ink);background:#fff}button,input{font:inherit;color:var(--ink)}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #176b87;outline-offset:2px}[hidden]{display:none!important}.app{height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.top{padding:10px 16px;border-bottom:1px solid var(--line)}h1{font-size:20px;margin:0}.top p{font-size:14px;color:var(--muted);margin:2px 0 0}.body{min-height:0;display:grid;grid-template-columns:minmax(0,7fr) minmax(340px,3fr)}.center{min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.calendar-top button{border:1px solid #176b87;border-radius:5px;background:#fff;color:#176b87;font-size:13px;font-weight:700;margin-left:8px;padding:1px 7px}.calendar-top{min-height:39px;padding:6px 12px;border-bottom:1px solid var(--line);font-size:14px;display:flex;justify-content:space-between;gap:8px}.calendar-scroll{min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.weekdays,.dates,.lane{display:grid;grid-template-columns:var(--gutter) repeat(7,minmax(0,1fr))}.weekdays{position:sticky;top:0;z-index:20;background:var(--soft);border-bottom:1px solid var(--line);text-align:center;font-weight:800}.weekdays span{padding:4px;border-right:1px solid var(--line)}.week{border-bottom:1px solid var(--line)}.dates,.lane{position:relative}.dates{height:38px;border-bottom:1px solid var(--line)}.date-gutter{font-size:14px;background:var(--soft);padding:3px 7px;border-right:1px solid var(--line);line-height:1.15;overflow:hidden}.date-gutter span{color:var(--muted)}.date{padding:3px 5px;border-right:1px solid var(--line);font-weight:700;cursor:pointer}.date small{font-size:14px;font-weight:400;margin-left:4px}.date.weekend{background:var(--soft);color:var(--muted)}.date.holiday{color:var(--red)}.date.today{box-shadow:inset 0 0 0 2px #176b87}.date.today:after{content:'今日';font-size:14px;color:#176b87;margin-left:4px}.lane{height:50px;border-bottom:1px solid var(--line);touch-action:none}.lane.ghost{opacity:.52}.lane-name{position:relative;z-index:4;padding:6px;border-right:1px solid var(--line);background:white;overflow:hidden}.lane-name button{border:0;background:transparent;color:var(--row-color);font-weight:800;text-align:left;padding:5px 2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lane.ghost .lane-name{color:#526b76;font-size:14px}.day{border-right:1px solid var(--line);position:relative;cursor:crosshair}.day.rest{background:repeating-linear-gradient(135deg,var(--rest),var(--rest) 4px,#fff 4px,#fff 8px)}.day.yearmark.rest:before{content:'年末年始';position:absolute;inset:0;display:grid;place-items:center;background:#f1f2ec88;color:#61706c;font-size:14px;pointer-events:none}.day.slack:not(.rest){background:var(--green)}.day.over{background:#fff0ee}.day.guide{outline:2px dashed #176b87;outline-offset:-4px;background:#e9f3f6}.day.guide:after{content:'☝ なぞる';font-size:14px;color:#176b87;position:absolute;left:5px;top:12px;white-space:nowrap}.bar,.oldbar,.draft{position:absolute;z-index:6;top:8px;height:34px;border:2px solid var(--row-color);border-radius:6px;background:white;color:var(--row-color);font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:3px 6px;touch-action:none;cursor:pointer}.bar-name{position:relative;z-index:2}.bar-name.continued{opacity:.66}.bar-rest{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#5f7179;position:absolute;z-index:1;top:-2px;bottom:-2px;background:repeating-linear-gradient(135deg,#e8ecee,#e8ecee 4px,#fff 4px,#fff 8px);border-left:1px solid #d5dfe3;border-right:1px solid #d5dfe3;pointer-events:none}.bar.confirmed{background:var(--row-color);color:#fff}.bar.done{opacity:.5}.bar.selected{box-shadow:0 0 0 3px #99bac4}.bar .handle{position:absolute;z-index:3;right:0;top:0;bottom:0;width:15px;background:currentColor;opacity:.25;cursor:ew-resize}.oldbar{z-index:5;border-style:dashed;opacity:.5;pointer-events:none}.draft{z-index:8;border-style:dashed;opacity:.6;pointer-events:none}.range-tail{position:absolute;z-index:5;top:8px;height:34px;border-right:2px dashed var(--row-color);background:color-mix(in srgb,var(--row-color) 12%,white);pointer-events:none}.link-line{position:absolute;z-index:5;top:25px;height:2px;width:10px;background:#526b76;pointer-events:none}.endline,.flagline{position:absolute;z-index:7;top:0;bottom:0;width:2px;background:#176b87;pointer-events:none}.flagline{background:var(--red)}.flagmark{position:absolute;z-index:9;top:1px;transform:translateX(-50%);background:var(--red);color:#fff;border-radius:4px;padding:1px 5px;font-size:14px;font-weight:800;white-space:nowrap;pointer-events:none}.endlabel.at-edge{transform:translateX(calc(-100% - 6px));top:auto;bottom:-14px}.endlabel{position:absolute;z-index:11;top:11px;transform:translateX(6px);background:white;border:1px solid #176b87;border-radius:6px;color:#176b87;padding:3px 6px;font-size:14px;font-weight:800;white-space:nowrap}.slack-label{position:absolute;z-index:7;top:13px;font-size:14px;font-weight:800;color:var(--green-ink);white-space:nowrap;pointer-events:none}.slack-label.bad{color:var(--red)}.due-mark{position:absolute;z-index:10;top:1px;font-size:14px;font-weight:800;color:var(--row-color);background:white;border:1px solid var(--row-color);border-radius:4px;padding:1px 4px;white-space:nowrap;pointer-events:none}.day:nth-last-child(-n+2) .due-mark{right:1px}.guide-note{position:absolute;z-index:12;top:6px;left:calc(100% + 4px);width:190px;padding:5px 7px;background:white;border:1px solid #176b87;border-radius:6px;color:#176b87;font-size:14px;pointer-events:none}.viewing-left{position:absolute;z-index:25;left:10px;top:44px;background:white;border:2px solid #176b87;border-radius:8px;padding:8px 10px;font-weight:800;box-shadow:0 5px 15px #20333e22}.viewing-left button{margin-left:8px}.change-float{position:absolute;z-index:24;left:50%;top:48px;transform:translateX(-50%);background:white;border:2px solid #176b87;border-radius:12px;padding:12px 24px;color:#176b87;font-size:31px;font-weight:800;white-space:nowrap;box-shadow:0 10px 25px #20333e22;animation:absorb 3.1s ease-in forwards;cursor:pointer}@keyframes absorb{0%,80.65%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translate(320px,-42px) scale(.45)}}.side{min-width:0;min-height:0;border-left:1px solid var(--line);display:flex;flex-direction:column}.overview{flex:none;max-height:50%;overflow-y:auto;border-bottom:2px solid var(--line);padding:11px 15px;background:#fff}.right-scroll{min-height:0;flex:1;overflow-y:auto}.right-section{padding:12px 15px;border-bottom:1px solid var(--line)}.right-section h2,.overview h2{font-size:17px;margin:0 0 7px}.right-section h3{font-size:15px;margin:7px 0}.right-section p,.overview p{margin:5px 0 8px}.summary{padding:8px;background:#e9f3f6;border-radius:6px;font-weight:700}.text-button,.quiet,.plain-name{display:block;width:100%;border:0;background:transparent;color:#176b87;text-align:left;font-weight:700;padding:5px 0;min-height:32px}.plain-name{font-size:18px}.big-change{font-size:25px;color:#176b87;display:block}.detail{border-top:1px solid var(--line);margin-top:4px;padding-top:5px}.detail label,.hand label{display:block;font-weight:700;margin:5px 0}.detail input,.hand input,.record input{width:100%;min-height:37px;border:1px solid var(--line);border-radius:6px;padding:5px;background:#fff}.btn{min-height:35px;border:1px solid var(--line);border-radius:7px;padding:5px 9px;background:white;color:var(--ink);font-size:14px;font-weight:700;margin:2px}.btn.primary{background:#176b87;border-color:#176b87;color:#fff}.btn.danger{color:var(--red);border-color:var(--red)}.btn.tiny{min-height:25px;width:27px;padding:0;margin:0 4px;font-size:15px}.day-count{font-weight:800}.note-entry{display:flex;gap:4px}.note-entry input{min-width:0;flex:1}.note{border:1px solid var(--line);border-radius:6px;padding:7px;margin:6px 0;background:var(--soft);cursor:grab}.note span,.small{font-size:14px;color:var(--muted)}.record-day{border-top:1px solid var(--line);padding-top:7px;margin-top:8px}.record-day h3{margin:0 0 4px}.record-line{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--line);padding:6px 2px;font-size:14px}.record-line.viewing,.record-line.related{background:#e9f3f6}.phone{width:375px;max-width:100%;border:1px solid var(--line);border-radius:14px;padding:12px;margin:7px auto;background:white}.phone h3{margin:4px 0}.share-calendar{max-height:340px;overflow-y:auto;border:1px solid var(--line);border-radius:6px;margin:8px 0;background:#fff}.share-week{border-bottom:1px solid var(--line)}.share-grid{display:grid;grid-template-columns:72px repeat(7,minmax(0,1fr))}.share-grid>*{min-width:0;overflow:hidden;border-right:1px solid var(--line);padding:3px 1px;font-size:12px;text-align:center;white-space:nowrap}.share-grid.dates{height:auto;background:var(--soft);font-weight:700}.share-grid.lane-row{min-height:28px}.share-grid .share-lane-name{text-align:left;font-weight:700;color:var(--row-color);font-size:12px;padding-left:4px}.share-cell{position:relative}.share-grid>.share-cell.start{overflow:visible;z-index:1;text-align:left;padding-left:3px}.share-cell.rest{background:repeating-linear-gradient(135deg,#e8ecee,#e8ecee 3px,#fff 3px,#fff 6px)}.share-cell.busy{background:var(--row-color);color:#fff}.share-cell.busy.rest{background:repeating-linear-gradient(135deg,#e8ecee,#e8ecee 3px,#fff 3px,#fff 6px);color:var(--row-color)}.share-cell.busy:not(.confirmed){background:color-mix(in srgb,var(--row-color) 16%,#fff);color:var(--row-color);font-weight:700;border-top:2px solid var(--row-color);border-bottom:2px solid var(--row-color)}.share-cell.busy.rest:not(.confirmed){background:repeating-linear-gradient(135deg,#e8ecee,#e8ecee 3px,#fff 3px,#fff 6px)}.share-cell.flag{border-top:3px solid var(--red)}.share-calendar-title{font-size:12px;font-weight:700;margin:5px 0 2px}.phone .answer{background:#e9f3f6;border-left:4px solid #176b87;padding:7px;font-weight:800}.share-row{margin:5px 0;border-left:4px solid var(--row-color);padding:4px 7px}.share-choice{display:flex;align-items:center;gap:6px;margin:5px 0}.share-choice input{width:auto;min-height:0}.corner{border-top:1px solid var(--line);padding:5px 12px;text-align:right;color:var(--muted);font-size:14px;white-space:normal;background:#fff}.corner button{border:0;background:transparent;color:#176b87;font-size:14px;font-weight:700;padding:3px}.tip{position:fixed;z-index:60;pointer-events:none;background:white;border:1px solid #176b87;border-radius:8px;padding:7px 10px;font-weight:800;font-size:15px;box-shadow:0 8px 24px #20333e22}.example-cover{position:fixed;z-index:90;inset:0;background:#ffffffed;display:grid;place-items:center;padding:12px}.example-sheet{width:min(100%,700px);max-height:95vh;overflow:auto;border:2px solid #176b87;border-radius:12px;background:white;padding:16px}.example-sheet h2{margin:0}.example-sheet p{margin:5px 0}.example-row{display:grid;grid-template-columns:105px 1fr;gap:8px;padding:8px 0;border-top:1px solid var(--line)}.example-name{font-weight:800;color:var(--row-color)}.mobile-note{display:none}
@media(max-width:700px){:root{--gutter:78px}.day.yearmark.rest:before{display:none}.bar-rest{font-size:0}.lane-name button{white-space:nowrap;overflow:visible;text-overflow:clip}.app{grid-template-rows:auto minmax(0,1fr)}.top{padding:7px 9px}.top h1{font-size:16px}.top p,.calendar-top,.side,.corner,.change-float,.guide-note{display:none!important}.body{display:block}.center{height:100%}.mobile-note{display:block;padding:5px 8px;background:#e9f3f6;color:#176b87;font-size:14px;font-weight:800}.date-gutter{padding:1px;font-size:14px;overflow-wrap:anywhere}.date-gutter span,.date small,.date.today:after,.day.yearmark:before,.endlabel,.slack-label{display:none}.date{padding:2px 1px;font-size:14px}.lane-name{padding:2px 1px}.lane.ghost{display:none}.lane-name button{font-size:14px}.bar,.due-mark{font-size:14px;padding:2px}.weekdays span{padding:3px 0}}

/* v5 */
:root{--gutter:104px}.calendar-top{justify-content:flex-start;align-items:center}.calendar-top>span:last-child{margin-left:auto}#current-month{position:sticky;left:0;background:white;white-space:nowrap;font-size:14px}.date-gutter span:empty{display:none}.date.month-start,.day.month-start{border-left:2px solid #839aa5}.lane-name button{font-size:14px;display:flex;align-items:center;gap:5px}.lane-name .dot{flex:none}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--dot);vertical-align:middle}.lane.ghost{opacity:.24}.lane.ghost:not(.early){opacity:0}.lane.ghost:not(.early):hover,.lane.ghost:not(.early).drawing{opacity:.55}.lane.ghost .lane-name{font-size:14px}.bar.selected{box-shadow:0 0 0 3px #176b87}.oldbar{opacity:.75;overflow:visible;font-size:14px}.oldbar span{background:white}.flagmark{pointer-events:auto;cursor:grab}.bar-change{position:absolute;z-index:12;top:9px;left:calc(100% + 3px);background:#e9f3f6;color:#176b87;border:1px solid #176b87;border-radius:4px;padding:3px 5px;white-space:nowrap;font-size:14px;pointer-events:none}.quick,.context{position:fixed;z-index:55;background:white;border:1px solid #b7cbd3;border-radius:7px;box-shadow:0 5px 20px #20333e33;padding:4px;display:flex;gap:3px;align-items:center;max-width:min(96vw,550px);flex-wrap:wrap}.quick button,.context button{border:0;background:white;color:#176b87;padding:5px 7px;font-size:14px;min-height:30px}.quick button:hover,.context button:hover{background:#e9f3f6}.quick input,.context input{width:150px;min-height:30px;border:1px solid var(--line);border-radius:4px;font-size:14px}.context{display:block;min-width:165px}.context button{display:block;width:100%;text-align:left}.undo-toast{position:fixed;z-index:80;bottom:18px;left:50%;transform:translateX(-50%);background:#20333e;color:white;padding:9px 14px;border-radius:7px;box-shadow:0 5px 20px #20333e33;font-size:14px}.undo-toast button{border:0;background:none;color:white;text-decoration:underline;font-size:14px}.side{background:#f6f9fa}.right-scroll{padding:12px;display:flex;flex-direction:column;gap:12px}.panel{border:1px solid var(--line);border-radius:8px;background:white;padding:8px 10px;min-width:0;flex:none}.panel-head{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:white;text-align:left;font-size:15px;font-weight:700;padding:2px 0 5px;min-height:26px}.panel-head small{font-size:14px;color:var(--muted);font-weight:400}.project-head{display:flex;align-items:center;justify-content:space-between;gap:5px}.project-title{font-size:15px;font-weight:700;border:0;background:none;padding:0;text-align:left;min-width:0}.share-top{font-size:14px;border:1px solid #176b87;color:#176b87;border-radius:5px;background:white;padding:3px 6px;white-space:nowrap}.summary-line{color:var(--muted);font-size:14px;margin:5px 0}.item{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #ecf0f1;font-size:14px}.item-label{color:var(--muted);display:flex;align-items:center;gap:7px;white-space:nowrap}.item-label i{font-style:normal;width:14px;text-align:center}.item-value{text-align:right;min-width:0}.item-value button{border:0;background:none;color:var(--ink);padding:3px 0;font-size:14px;text-align:right}.item-value button:hover{text-decoration:underline}.item-value button[data-act="delete-box"],.item-value button[data-act="remove-flag"],.item-value button[data-act="delete-lane"]{color:var(--red)}.item-value button[data-act="plus"],.item-value button[data-act="minus"],.item-value button[data-act="range-plus"],.item-value button[data-act="range-minus"]{padding:2px 5px;color:#176b87}.item-value input,.project-head input{max-width:155px;font-size:14px;border:1px solid #176b87;border-radius:4px;padding:3px}.meter{display:inline-block;vertical-align:middle;width:58px;height:5px;border-radius:5px;background:#e8ecee;margin-left:5px}.meter>span{display:block;height:100%;border-radius:5px;background:#3e9762}.meter.bad>span{background:#b34538}.value-flash{background:#dcefe4;animation:fade-value 3s ease-out}.value-flash del{color:var(--muted)}@keyframes fade-value{from{background:#8ad2a5}to{background:transparent}}.selected-kind{font-size:14px;color:var(--muted);padding-bottom:3px}.choices,.rest-list{display:flex;gap:4px;flex-wrap:wrap;padding:3px 0}.choices button,.rest-list button{border:1px solid var(--line);border-radius:4px;background:white;padding:3px 5px;font-size:14px}.add-row{border:0;background:white;color:#176b87;text-align:left;padding:6px 0;font-size:14px}.panel .note-entry{margin:5px 0}.panel .note-entry input{width:100%;min-width:0}.panel .record-day h3{font-size:14px}.panel .record-line{font-size:14px}.overview{max-height:none;overflow:visible;border-bottom:1px solid var(--line);padding:8px 10px}.right-section{border:0}.share-grid>*,.share-grid .share-lane-name,.share-calendar-title,.bar-rest{font-size:14px}.change-float{display:none!important}
.lane.ghost:not(.early){height:0;border:0;transform:translateY(-18px);z-index:13;overflow:visible}.lane.ghost:not(.early) .lane-name,.lane.ghost:not(.early) .day{height:18px;min-height:18px;padding:0}.lane.ghost:not(.early):hover{opacity:.7}.lane.ghost:not(.early) .lane-name{background:#ffffffd9}.lane.ghost:not(.early) .lane-name:before{content:'＋ 行';font-size:13px}.lane.ghost:not(.early) .lane-name{font-size:0}.lane-name .unnamed{color:var(--muted);font-weight:400}.switch{display:inline-flex;align-items:center;gap:7px}.switch-track{position:relative;width:30px;height:17px;border-radius:12px;background:#b8c7cc;display:inline-block;vertical-align:middle}.switch-track:after{content:'';position:absolute;width:13px;height:13px;top:2px;left:2px;border-radius:50%;background:white;box-shadow:0 1px 2px #20333e55}.switch[aria-pressed="true"] .switch-track{background:#176b87}.switch[aria-pressed="true"] .switch-track:after{left:15px}
@media(max-width:700px){html,body{height:auto;overflow-x:hidden;overflow-y:auto}.app{height:auto;min-height:100dvh;display:block;overflow:visible}.body{display:block}.center{height:65vh;min-height:400px}.side{display:block!important;border-left:0;border-top:1px solid var(--line)}.right-scroll{overflow:visible}.calendar-top{display:flex!important;min-height:38px;padding:4px 6px}.calendar-top>span:last-child{display:none}.lane.ghost{display:none}.corner{display:block!important;text-align:left}.mobile-note{display:block}.date-gutter span,.date small,.date.today:after,.day.yearmark:before,.endlabel,.slack-label{display:none}.quick,.context{display:none!important}.bar-change{display:none}.phone{width:100%}}

:root{--gutter:56px;--own:#647b87}
.top{padding:7px 16px}.top p{margin:0}.body{grid-template-columns:minmax(0,7fr) minmax(340px,3fr)}
.calendar-top{min-height:36px}.weekdays{height:30px}.weekdays span{padding:3px}
.week{position:relative;min-height:64px}.week.month-turn{border-top:2px solid #8196a0}
.dates{height:36px;border-bottom:0}.date-gutter{overflow:visible;background:#fff;position:relative;z-index:4;padding:4px 2px;white-space:nowrap}.date-gutter strong{font-size:18px;color:#294a59}.date{font-size:14px;padding:4px 3px;min-width:0;touch-action:none}.date-number{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 3px;border-radius:50%}.date.today{box-shadow:none}.date.today:after{content:none}.date.today .date-number{background:#176b87;color:white}.date small{font-size:14px;white-space:nowrap;margin-left:2px}.date.weekend,.date.holiday,.day.rest{background:repeating-linear-gradient(135deg,#e8ecee,#e8ecee 3px,#fff 3px,#fff 7px)}.date.holiday .date-number{color:#b34538}.date.today.holiday .date-number{color:#fff}.date.project-rest:not(.weekend):not(.holiday){background:repeating-linear-gradient(135deg,#e8ecee,#e8ecee 3px,#fff 3px,#fff 7px)}
.lane{height:30px;border:0}.lane.empty{height:28px}.lane-name{overflow:visible;padding:0 2px;background:#fff;white-space:nowrap}.lane-name button{font-size:14px;min-height:26px;padding:1px 4px;border-radius:5px;background:#fff;box-shadow:0 1px 4px #20333e25;position:relative;z-index:9;max-width:none;overflow:visible;text-overflow:clip}.day{min-width:0}.day.slack:not(.rest){background:#e4f2e9}.day.over{background:#fff0ee}.day.guide{background:#e9f3f6}.day.guide:after{content:none}.day.person-rest{background:repeating-linear-gradient(135deg,#dbe6e8,#dbe6e8 3px,#fff 3px,#fff 7px)}
.bar,.oldbar,.draft{top:2px;height:26px;border-radius:5px;padding:1px 5px;font-size:14px;overflow:visible;line-height:20px}.bar{z-index:6}.bar-name{display:block;width:max-content;max-width:none;white-space:nowrap;background:inherit;border-radius:3px;padding-right:2px;pointer-events:none}.bar.ellipsize .bar-name{width:100%;overflow:hidden;text-overflow:ellipsis}.bar.confirmed .bar-name{background:var(--row-color)}.bar .handle{width:12px}.bar-rest{top:-2px;bottom:-2px;background:repeating-linear-gradient(135deg,#e8ecee,#e8ecee 3px,#fff 3px,#fff 7px);font-size:0}.bar.dragging{box-shadow:0 7px 17px #20333e66;transform:translateY(-2px)}.draft{background:#dcebf0;opacity:.85}.endlabel{top:-32px;bottom:auto;z-index:12}.endlabel.at-edge{top:-32px;bottom:auto}.flagmark{top:-32px}.flagline,.endline{z-index:3}.slack-label{top:3px}.due-mark{z-index:8}.guide-note{left:5px;top:27px;width:max-content;max-width:190px;white-space:normal;background:#fff}.quick{z-index:60}.quick select,.item-value select{font-size:14px;max-width:180px}.person-menu{display:flex;gap:3px;flex-wrap:wrap;max-width:380px}.person-menu button{font-size:14px}.side .summary-line{margin:3px 0}.side .item{min-height:36px}
@media(max-width:700px){:root{--gutter:42px}.top p{display:block}.calendar-top{display:flex!important}.body{display:block}.center{height:58vh;min-height:390px}.side{display:block!important}.date small{display:none}.date-gutter strong{font-size:14px}.date{padding:2px 0}.bar-name{max-width:100%;overflow:hidden;text-overflow:ellipsis}.lane-name button{font-size:14px}.endlabel,.slack-label{display:none}.calendar-scroll{overflow-x:hidden}.weekdays span{font-size:14px}.quick,.context{display:none!important}}

/* v6b: 日付だけのカレンダー（Google カレンダーの月の表示が手本。最後の定義が効く） */
:root{--gutter:64px}

.week{position:relative;display:block;min-height:96px;border-bottom:1px solid #cfd9de}
.week.month-turn{border-top:2px solid #7f95a0}
.cells{position:absolute;inset:0;display:grid;grid-template-columns:var(--gutter) repeat(7,minmax(0,1fr));pointer-events:none;z-index:0}
.cells>div{border-right:1px solid var(--line)}
.cellbg.month-start{border-left:2px solid #839aa5}
.cellbg.weekend,.cellbg.holiday,.cellbg.project-rest{background:repeating-linear-gradient(135deg,#e9eef0,#e9eef0 3px,#fff 3px,#fff 7px)}
.cellbg.flagday{box-shadow:inset 2px 0 0 var(--red)}
.cellbg.tracing{background:#d6ebf3}
.dates{position:relative;z-index:2;height:30px;border:0;display:grid;grid-template-columns:var(--gutter) repeat(7,minmax(0,1fr))}
.date,.date.weekend,.date.holiday,.date.project-rest:not(.weekend):not(.holiday){background:none!important;border:0!important;padding:3px 4px;box-shadow:none}
.date-gutter{background:transparent;border:0;position:relative;padding:3px 2px 0 8px;overflow:visible}
.date-gutter strong{font-size:18px;color:#294a59;line-height:24px;display:block}
.today-mark{position:absolute;left:0;top:9px;width:0;height:0;border:6px solid transparent;border-left:7px solid #176b87;border-right:0}
.date-number{min-width:24px;height:24px}
.date small{font-size:14px;color:inherit;font-weight:500;margin-left:2px}
.lane{position:relative;z-index:2;display:grid;grid-template-columns:var(--gutter) repeat(7,minmax(0,1fr));height:30px;border:0;background:none}
.lane.empty{height:30px}.week.blank .lane.empty{height:66px}
.week-tail{position:relative;z-index:2;display:grid;grid-template-columns:var(--gutter) repeat(7,minmax(0,1fr));height:36px}
.lane-name{background:transparent;border:0;padding:0 0 0 8px;overflow:visible}
.lane-name button{background:none;border:0;box-shadow:none;padding:2px 0;min-height:26px;font-size:14px;font-weight:800;color:var(--row-color);max-width:100%;border-radius:0}
.day,.day.rest,.day.slack,.day.over,.day.guide{border:0!important;background:none;outline:0}
.day.person-rest{background:repeating-linear-gradient(135deg,#d3dde0,#d3dde0 3px,rgba(255,255,255,0) 3px,rgba(255,255,255,0) 7px)}
.bar,.oldbar,.draft,.range-tail,.slackband{position:absolute;top:2px;height:26px;border-radius:6px}
.bar{z-index:6;border:1.5px solid var(--row-color);background:color-mix(in srgb,var(--row-color) 18%,#fff);color:color-mix(in srgb,var(--row-color) 60%,#000);font-size:14px;font-weight:700;line-height:23px;padding:0 7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}
.bar.confirmed{background:var(--row-color);color:#fff}
.bar .bar-name,.bar.confirmed .bar-name,.bar.ellipsize .bar-name{display:block;position:relative;z-index:2;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border-radius:0;padding:0;opacity:1}
.bar .handle{position:absolute;z-index:4;right:0;top:0;bottom:0;width:9px;background:transparent;opacity:0;cursor:ew-resize}
.bar.cut-l{border-top-left-radius:0;border-bottom-left-radius:0}.bar.cut-r{border-top-right-radius:0;border-bottom-right-radius:0}
.bar.selected{border-width:2px;box-shadow:0 0 0 2px color-mix(in srgb,var(--row-color) 30%,#fff)}
.bar.glow{animation:glow 1.3s ease-out}
@keyframes glow{0%{box-shadow:0 0 0 0 #ffc83d}35%{box-shadow:0 0 0 7px #ffc83d99}100%{box-shadow:0 0 0 0 #ffc83d00}}
.bar-rest{position:absolute;z-index:1;top:0;bottom:0;border:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.85),rgba(255,255,255,.85) 3px,rgba(255,255,255,.35) 3px,rgba(255,255,255,.35) 7px);pointer-events:none}
.oldbar{z-index:5;background:transparent;border:1.5px dashed var(--row-color);opacity:.85;pointer-events:none;overflow:hidden;color:transparent}
.draft{z-index:8;border:1.5px dashed var(--row-color);background:color-mix(in srgb,var(--row-color) 24%,transparent);opacity:1;pointer-events:none}
.range-tail{z-index:5;border:1.5px dashed var(--row-color);border-left:0;border-radius:0 6px 6px 0;background:color-mix(in srgb,var(--row-color) 8%,transparent);pointer-events:none}
.slackband{z-index:3;text-align:right;background:#3e976228;border:1px solid #3e976266;border-radius:5px;color:var(--green-ink);font-weight:800;font-size:14px;line-height:24px;padding:0 8px;white-space:nowrap;pointer-events:none}
.slackband.bad{background:#b3453826;border-color:#b3453866;color:var(--red)}
.link-line{top:14px;height:2px;width:7px;background:#526b76;z-index:5}
.endlabel,.endlabel.at-edge{position:absolute;z-index:7;top:3px;bottom:auto;height:24px;line-height:22px;padding:0 7px;border-radius:5px;background:#fff;border:1px solid #176b87;color:#176b87;font-size:14px;font-weight:800;white-space:nowrap;pointer-events:none;transform:none}
.endlabel.below{top:30px;left:auto;right:4px}
.dates .flagmark{position:absolute;z-index:9;top:4px;height:22px;line-height:22px;padding:0 6px;transform:translateX(-100%);border-radius:4px;background:var(--red);color:#fff;font-size:14px;font-weight:800;pointer-events:auto;cursor:grab}
.due-mark{top:3px}
.guide-note{position:absolute;z-index:12;top:5px;left:4px;width:max-content;max-width:215px;padding:3px 8px;background:#fff;border:1px solid #176b87;border-radius:6px;color:#176b87;font-size:14px;font-weight:700;pointer-events:none;white-space:normal}
.guide-note.right{left:auto;right:4px}
.week.blank .guide-note{top:9px}
.viewing-left{left:0;right:0;top:0;height:36px;border:0;border-bottom:1px solid #176b87;border-radius:0;background:#e9f3f6;box-shadow:none;padding:4px 12px;z-index:30;display:flex;align-items:center}
.quick{padding:3px;gap:2px;max-width:min(96vw,640px)}.quick button{min-height:28px}.quick select{max-width:150px}
.context{max-width:320px}.person-menu{max-width:320px}
.share-actions{position:sticky;bottom:0;z-index:6;background:#fff;border-top:1px solid var(--line);padding:8px 0 2px;margin-top:8px}
@media(max-width:700px){:root{--gutter:42px}.date-gutter{padding:3px 0 0 9px}.date-gutter strong{font-size:14px}}
/* ② 12c: 余裕は予定と見分けがつく薄い面に・仮の帯を少し濃く・上に寄せた週の日付が見出しに隠れない */.slackband{background:#3e976216;border:0;border-radius:4px;height:26px}.bar:not(.confirmed){background:color-mix(in srgb,var(--row-color) 24%,#fff)}#scroll{scroll-padding-top:34px}
/* v6d */
.bar.ghostbar{z-index:9;pointer-events:none;opacity:.62;box-shadow:0 2px 8px #20333e33}
.bar.ghostbar .handle{display:none}
.bar.dragging{opacity:.3;box-shadow:none;transform:none}
.short-text{color:var(--red);font-weight:800}
#new-person{font-size:14px;min-height:30px;width:150px;border:1px solid #176b87;border-radius:4px;padding:0 6px;background:#fff}
.share-cover{position:fixed;inset:0;z-index:85;background:#20333e66;display:grid;place-items:center;padding:16px}
.share-modal{width:min(100%,740px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 12px 40px #20333e55;overflow:hidden}
.share-modal-body{flex:1;min-height:0;overflow-y:auto;padding:14px 18px}
.share-modal-foot{display:flex;gap:8px;justify-content:flex-end;padding:10px 18px;border-top:1px solid var(--line);background:#fff}
.share-modal h2{font-size:18px;margin:0 0 4px}
.share-modal .phone{width:100%;margin:8px 0}
.share-modal .share-calendar{max-height:none;overflow:visible}
.date-gutter{padding-left:14px}
.today-mark{left:3px;top:8px;border-width:7px;border-left:9px solid #176b87;border-right:0}
@media(max-width:700px){.date-gutter{padding-left:12px}}
/* v7 */
.top{padding:8px 14px;border-bottom:1px solid var(--line);background:#fff}
.topband{display:flex;align-items:center;gap:6px 18px;flex-wrap:wrap;min-height:38px}
.topband .project-title{font-size:17px;font-weight:800;border:0;background:none;padding:0;text-align:left}
.topband input#title-input{font-size:16px;border:1px solid #176b87;border-radius:4px;padding:3px 6px;max-width:180px}
.tb-val{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:3px 4px;border-radius:6px;font-size:14px;cursor:pointer}
.tb-val:hover{background:#eef4f6}
.tb-k{color:var(--muted);font-size:14px}.tb-v{font-size:17px;font-weight:800;color:var(--ink)}.tb-v del{color:var(--muted);font-weight:500}
.tb-put{color:#176b87;font-weight:700}.tb-note{color:var(--muted);font-size:14px}.tb-fill{flex:1}
.topband .share-top{font-size:14px;font-weight:700;padding:5px 14px;border-radius:6px}
.topband .share-top:disabled{opacity:.4;cursor:default}
.meter2{display:inline-flex;width:120px;height:9px;border-radius:5px;overflow:hidden;background:#e8ecee;gap:2px}
.meter2 i{display:block;height:100%;flex-basis:0}.m-work{background:#7d93a0}.m-slack{background:#3e9762}.m-over{background:#b34538}
.crumb{display:flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-bottom:1px solid var(--line);background:#fff;font-size:14px;flex:none}
.crumb button{border:0;background:none;color:#176b87;font-size:14px;font-weight:700;padding:2px 0}.crumb strong{font-size:15px}.crumb-sep{color:var(--muted)}.crumb .crumb-x{margin-left:auto;color:var(--muted);font-size:18px;padding:2px 6px}
.side{background:#fff}.view{padding:2px 14px 18px;background:#fff}.right-scroll{padding:0;display:block;gap:0}
.view .item{min-height:36px;padding:1px 0}.view .item-value{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.view .item-value button{border:0;background:none;color:var(--ink);font-size:14px;padding:3px 2px}
.view .item-value button:hover{text-decoration:underline}
.view .item-value.chips button,.view .rest-list button,.view .choices button{border:1px solid var(--line);border-radius:12px;padding:2px 9px;background:#fff}
.view .sub{font-size:14px;color:var(--muted);padding:2px 0 6px;text-align:right}.view .sub button{border:0;background:none;color:#176b87;font-size:14px;font-weight:700;padding:0}
.sec-h{font-weight:800;font-size:15px;margin:16px 0 4px;border-top:1px solid var(--line);padding-top:10px}.sec-h small{color:var(--muted);font-weight:500}
.view .note{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0}
.view .note-entry{margin:6px 0}
.diff{border:1px solid var(--line);border-radius:8px;background:#f3f8f9;padding:8px 10px;margin:6px 0}.diff-h{font-weight:800;font-size:14px}.diff-h small{color:var(--muted);font-weight:500}
.diff-head{font-weight:800;font-size:14px;margin:4px 0}.diff-line{font-size:14px;color:var(--ink);padding:1px 0 1px 10px;border-left:3px solid #b7cbd3;margin:3px 0}.diff-more{font-size:14px;color:var(--muted);margin:3px 0}.diff-none{margin:4px 0;font-size:14px}
.versions{display:flex;flex-direction:column;margin-top:4px}.ver{display:block;text-align:left;border:0;border-bottom:1px solid #ecf0f1;background:#fff;padding:7px 4px;font-size:14px;min-height:34px}.ver:hover{background:#eef4f6}.ver.share{border-left:4px solid #176b87;padding-left:8px;font-weight:700}.ver.on{background:#e3f0f4}
.viewing-left{gap:10px;font-size:14px;font-weight:700}.viewing-left .btn{min-height:28px;padding:2px 10px;margin:0}
.oldbar.cmp{background:transparent;border:2px dotted var(--row-color);opacity:1;z-index:7}
.bar,.bar.confirmed,.bar:not(.confirmed){background:var(--row-color);color:#fff;border-color:var(--row-color)}
.bar.done{opacity:1}
.bar .bar-name{z-index:2}
.bar-past{position:absolute;left:0;top:0;bottom:0;background:rgba(255,255,255,.36);z-index:1;pointer-events:none}
.bar-over{position:absolute;right:0;top:0;bottom:0;background:repeating-linear-gradient(135deg,#b34538 0 4px,#fff 4px 7px);z-index:1;opacity:.75;pointer-events:none}.bar .bar-name{text-shadow:0 0 3px rgba(0,0,0,.5)}
.range-tail{border:1.5px dashed var(--row-color);border-left:0;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--row-color) 45%,#fff) 0 4px,color-mix(in srgb,var(--row-color) 12%,#fff) 4px 8px)}
.cellbg.flagday{box-shadow:inset -2px 0 0 var(--red)}
.flagmark.sel{outline:2px solid #fff;box-shadow:0 0 0 4px var(--red)}
.cellbg.chosen,.date.chosen{background:#d6ebf3}
.short-label{position:absolute;bottom:4px;z-index:9;font-size:14px;font-weight:800;color:var(--red);background:#fff;border:1px solid var(--red);border-radius:4px;padding:0 6px;white-space:nowrap;pointer-events:none}
.q-sep{width:1px;height:18px;background:var(--line);margin:0 3px}
.quick strong{font-size:14px;padding:0 2px}
.view small,.diff-h small,.sec-h small{font-size:14px}.view .item-value button[data-act=delete-box],.view .item-value button[data-act=remove-flag],.view .item-value button[data-act=delete-lane]{color:var(--red)}.share-cell.busy,.share-cell.busy:not(.confirmed){background:var(--row-color);color:#fff;border-top:0;border-bottom:0}.share-cell.busy.rest,.share-cell.busy.rest:not(.confirmed){background:repeating-linear-gradient(135deg,#e8ecee,#e8ecee 3px,#fff 3px,#fff 6px);color:var(--row-color)}.share-vals{display:flex;gap:20px;flex-wrap:wrap;font-size:15px;margin:6px 0 10px}.share-vals b{font-size:18px}
@media(max-width:700px){.top{padding:6px 9px}.topband{gap:2px 10px}.tb-v{font-size:15px}.meter2{width:70px}.topband .project-title{font-size:15px}.crumb{height:36px}.view{padding:2px 9px 14px}.tb-fill{display:none}.viewing-left{flex-wrap:wrap;height:auto;min-height:36px}}


.meter-wrap{display:inline-flex;flex-direction:column;gap:2px;align-items:flex-start}.meter2{width:200px}.meter-cap{font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap}
@media(max-width:700px){.meter2{width:110px}}
.bar .bar-name{text-shadow:none}
.bar-over{opacity:.5;background:repeating-linear-gradient(135deg,#b34538 0 4px,rgba(255,255,255,.6) 4px 7px)}
.bar-past{overflow:hidden;z-index:3;background:color-mix(in srgb,var(--row-color) 28%,#fff);opacity:1}
.bar-past .bar-name{position:absolute;color:var(--row-color);margin:0;text-shadow:none;background:none;pointer-events:none;z-index:1}
.oldbar.cmp .cmp-name{background:none;display:block;text-align:right;font-weight:600;color:var(--row-color);opacity:.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:14px}


.q-days{display:inline-flex;flex-direction:column;align-items:center;line-height:1.2}.q-days small{font-size:14px;color:var(--muted);font-weight:500}
.cellbg.weekend,.cellbg.holiday,.cellbg.project-rest{background:#f4f6f7}
.cellbg.today{background:#e6f1f5}.date.past .date-number{opacity:.42}
.demo{position:absolute;top:12px;height:34px;z-index:7;border:2px dashed #176b87;border-radius:8px;background:#d6ebf3;color:#176b87;font-size:14px;font-weight:800;display:flex;align-items:center;padding:0 10px;pointer-events:none;white-space:nowrap;overflow:hidden;animation:demo-grow 3.2s ease-in-out infinite both}
@keyframes demo-grow{0%{clip-path:inset(0 100% 0 0);opacity:1}30%{clip-path:inset(0 0 0 0);opacity:1}62%{clip-path:inset(0 0 0 0);opacity:1}78%{clip-path:inset(0 0 0 0);opacity:0}100%{clip-path:inset(0 100% 0 0);opacity:0}}
.guide-note{animation:note-in .4s 1.5s both}@keyframes note-in{from{opacity:0}to{opacity:1}}
.body.solo .side{display:none!important}
@media(min-width:701px){.body{display:flex}.body .center{flex:1;min-width:0}.body .side{display:flex!important;flex:none;width:max(340px,30%);transition:width .2s ease;overflow:hidden;min-width:0}.body.solo .side{display:flex!important;width:0;border-left-width:0}.side>.right-scroll{min-width:340px}}
.side{background:#f4f7f8}.crumb{display:none}.right-scroll{padding:12px}#hand.view{padding:0;background:transparent;display:flex;flex-direction:column;gap:10px}
.card{border:1px solid #d3dde1;border-radius:12px;background:#fff;overflow:hidden;min-width:0}.card.on{border-color:#176b87}
.card-h{display:flex;align-items:center;gap:6px;width:100%;min-height:48px;padding:0 14px;border:0;background:#fff;text-align:left;font-size:15px;min-width:0}
div.card-h{padding:0}div.card-h .card-name{padding:0 0 0 14px;min-height:48px}div.card-h .card-tg{padding:0 14px 0 6px}
.card-name{font-size:15px;font-weight:800;border:0;background:none;color:var(--ink);text-align:left;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:none}
.card-tg{display:flex;align-items:center;gap:6px;flex:1;min-width:0;border:0;background:#fff;min-height:48px;font-size:15px;text-align:left}
.chev{font-style:normal;font-size:16px;color:var(--muted);flex:none;width:14px;text-align:center}
.card-sum{flex:1;min-width:0;text-align:right;color:var(--muted);font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-name-input{font-size:15px;font-weight:800;border:1px solid #176b87;border-radius:6px;padding:4px 6px;margin:0 0 0 8px;max-width:55%;min-height:34px}
.card-body{padding:2px 14px 12px;border-top:1px solid #edf1f3}.card-body .sec-h:first-child{margin-top:8px;border-top:0;padding-top:0}


.calendar-top>span:last-child{margin-left:12px}
#rest-link{border:0;border-radius:6px;background:none;color:#176b87;font-size:14px;font-weight:700;padding:3px 8px;min-height:26px}
#rest-link:hover{background:#eef4f6}
.tb-static{cursor:default}.tb-static:hover{background:none}
.datepop{position:fixed;z-index:70;width:320px;background:#fff;border:1px solid #176b87;border-radius:10px;box-shadow:0 8px 28px #20333e40;padding:10px}
.dp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.dp-h strong{font-size:15px}
.dp-h button{border:0;background:none;color:#176b87;font-size:18px;font-weight:700;width:38px;height:34px;border-radius:6px}.dp-h button:disabled{opacity:.3;cursor:default}.dp-h button:hover:not(:disabled){background:#eef4f6}
.dp-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.dp-w{font-size:14px;color:var(--muted);font-weight:700;padding:2px 0}
.dp-d{height:38px;border:0;background:none;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink);padding:0}.dp-d:hover:not(:disabled){background:#e9f3f6}.dp-d.rest{color:#7d8f97}.dp-d.hol{color:var(--red)}.dp-d.today{box-shadow:inset 0 0 0 2px #176b87}.dp-d.cur{background:var(--red);color:#fff}.dp-d:disabled{opacity:.3;cursor:default}
.dp-f{display:flex;justify-content:space-between;align-items:center;margin-top:8px;border-top:1px solid var(--line);padding-top:8px;font-size:14px;color:var(--muted)}
.dp-f button{border:0;background:none;font-size:14px;font-weight:700;color:var(--red);padding:4px 2px}
.quick:has(>#inline-box){padding:0;border:0;border-radius:6px;box-shadow:none;background:none;max-width:none;gap:0;display:block}
#inline-box{display:block;box-sizing:border-box;margin:0;min-width:0;min-height:0;border:2px solid var(--nc,#176b87);border-radius:6px;background:color-mix(in srgb,var(--nc,#176b87) 8%,#fff);color:color-mix(in srgb,var(--nc,#176b87) 72%,#000);font:700 14px/1 'Noto Sans JP',sans-serif;padding:0 7px;outline:0}
#inline-box:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--nc,#176b87)}
@media(max-width:700px){#rest-link{display:none}}
.top{position:relative}
.side-toggle{display:none;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:34px;height:30px;padding:0;border:1px solid #b7cbd3;border-radius:6px;background:#fff;color:#176b87;align-items:center;justify-content:center}.side-toggle:hover{background:#e9f3f6}
@media(min-width:701px){.top{padding-right:60px}.side-toggle{display:flex}.app:has(.body.solo) .side-toggle{display:none}.app:has(.body.solo) .top{padding-right:16px}.body.solo #rest-link{pointer-events:none;color:var(--muted)}}
#rest-link{margin-left:6px}.dp-d.past{opacity:.3;cursor:default}


/* 13h: 右の欄の開け閉め */
.side-tg{display:none;position:absolute;z-index:30;width:28px;height:28px;padding:0;border:1px solid #b7cbd3;border-radius:6px;background:#fff;color:#176b87;font-size:18px;font-weight:800;line-height:1}
.side-tg:hover{background:#e9f3f6}
@media(min-width:701px){.side{position:relative}.body.side-closed .side{width:0!important;border-left-width:0}}


.date{position:relative}
.ex-marks{position:absolute;top:3px;right:4px;display:flex;gap:3px;pointer-events:none}.mk-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:baseline}.ex-mark{font-size:14px;font-weight:700;line-height:1.25;padding:0 6px;border-radius:9px;pointer-events:none;white-space:nowrap}
.ex-mark.off{background:#dfe5e8;color:#3d4f58}
.ex-mark.on{background:#d9eef4;color:#0f5c76}
.rest-view .rest-h{font-size:14px;font-weight:800;color:var(--muted);margin:14px 0 6px}
.rest-view .rest-h:first-child{margin-top:8px}
.rest-kinds,.rest-days{display:flex;flex-wrap:wrap;gap:6px}
.rbtn{border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14px;font-weight:700;padding:4px 11px;min-height:34px;border-radius:17px;cursor:pointer}
.rbtn:hover{background:#eef4f6}
.rbtn[aria-pressed="true"]{background:#e3edf1;border-color:#526b76;box-shadow:inset 0 0 0 1px #526b76}
.rbtn.wd{min-width:34px;padding:4px 4px;text-align:center}
.rest-note{font-size:14px;color:var(--muted);padding:4px 0;line-height:1.5}
.ex-list{display:flex;flex-direction:column;gap:8px}
.ex-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.ex-item.faint{opacity:.6}
.ex-item small{font-size:14px;color:var(--muted)}
.ex-chip{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:15px;padding:3px 11px;font-size:14px;font-weight:700;min-height:32px;cursor:pointer}
.ex-chip:hover{background:#eef4f6}
.rest-view .item{padding:5px 0}
.rest-days{margin-top:8px}



.prow-body .rest-kinds{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.prow-body .rest-kinds .rbtn{width:100%;justify-content:center;text-align:center;padding:0 8px;min-height:40px;line-height:1.25}
.bar.finished{opacity:.62}

.date.today .date-number{background:var(--teal);color:#fff;border-radius:50%}
.date.today.past .date-number{opacity:1}


/* ===== v13: 共有・ダウンロードの小窓／開いた人の札／知らせ（v10 の見た目の決まりのまま: 角 6・8・12／線 1 色／影は小窓だけ／間隔 4 の倍数／字 14px 以上） ===== */
.project-title{font-size:18px!important;font-weight:800!important}
.tb-right{margin-left:auto;display:inline-flex;align-items:center;gap:8px;flex:none}
.dl-top{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px 0 12px;border:0;border-radius:var(--r-m);background:var(--ghost);color:var(--teal);font-size:14px;font-weight:700;cursor:pointer}
.dl-top:hover:not(:disabled){background:rgba(32,51,62,.1)}
.dl-top:disabled{opacity:.4;cursor:default}
.dl-top svg{flex:none}
.vws{display:inline-flex;align-items:center;margin-right:8px;padding-left:8px}
.vw{position:relative;width:32px;height:32px;margin-left:-8px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--c);color:#fff;font-size:14px;font-weight:700;line-height:1;display:inline-grid;place-items:center;cursor:pointer;min-height:0}
.vw:hover{z-index:1;filter:brightness(1.08)}
.vw:after{content:"";position:absolute;right:-3px;bottom:-3px;width:10px;height:10px;border-radius:50%;background:#2f9e6f;border:2px solid #fff;box-sizing:border-box}
/* 小窓 */
.pp{position:fixed;z-index:120;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:0 8px 28px rgba(32,51,62,.16);overflow:auto;color:var(--ink);font-size:14px;line-height:1.5}
.pp-h{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;padding:8px 8px 0 20px}
.pp-h h2{margin:0;min-width:0;font-size:16px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-x{flex:none;width:36px;height:36px;padding:0;border:0;border-radius:var(--r-m);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;min-height:0}
.pp-x:hover{background:var(--hv);color:var(--ink)}
.pp-body{padding:4px 20px 16px}
.pp button{font-family:inherit}
.pp button:focus-visible,.n13 button:focus-visible,.dl-top:focus-visible,.vw:focus-visible,.g13-back:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.pp-acc{display:flex;align-items:flex-start;gap:12px}
.pp-ico{flex:none;width:36px;height:36px;border-radius:50%;background:#e6f1f5;color:var(--teal);display:grid;place-items:center}
.pp-at{flex:1;min-width:0}.pp-at>b{display:block;font-size:14px;font-weight:700;line-height:36px;margin-top:-4px}
.pp-selw{position:relative;display:inline-block}
.pp-sel{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px 0 14px;border:1px solid #9fb4bd;border-radius:var(--r-m);background:#fff;color:var(--ink);font-size:14px;font-weight:700;cursor:pointer}
.pp-sel:hover{background:var(--hv);border-color:#176b87}.pp-sel i{display:grid;place-items:center;color:var(--muted)}
.pp-sel[aria-expanded=true]{background:#eef6f9;border-color:#176b87;color:#0f5c76}.pp-sel[aria-expanded=true] i{transform:rotate(180deg)}
.pp-menu{position:absolute;left:-48px;top:calc(100% + 4px);z-index:3;width:380px;max-width:calc(100vw - 48px);background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:0 8px 28px rgba(32,51,62,.18);padding:8px}
.pp-mi{display:flex;gap:8px;align-items:flex-start;width:100%;min-height:48px;padding:8px;border:0;border-radius:var(--r-m);background:transparent;text-align:left;cursor:pointer;color:var(--ink)}
.pp-mi:hover{background:var(--hv)}
.pp-ck{flex:none;width:20px;height:20px;margin-top:2px;color:var(--teal);display:grid;place-items:center}
.pp-mi b{display:block;font-size:14px;font-weight:700}.pp-mi small{display:block;font-size:14px;color:var(--muted);line-height:1.5}
.pp-mi[aria-selected=true] b{color:#0f5c76}
.pp-sub{margin:8px 0 0;font-size:14px;color:var(--muted)}
.pp-acc+.pp-link,.pp-acc+.pp-people,.pp-acc+.pp-note{margin-top:16px}
.pp-note{margin:4px 0 8px;font-size:14px;color:var(--muted);line-height:1.6}
.pp-link{display:flex;gap:8px}
.pp-url{flex:1;min-width:0;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-m);background:#f7f9fa;color:var(--muted);display:flex;align-items:center;overflow:hidden}
.pp-url span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-copy,.pp-go{flex:none;min-height:36px;padding:0 20px;border:0;border-radius:var(--r-m);background:var(--teal);color:#fff;font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:4px;cursor:pointer}
.pp-copy:hover,.pp-go:hover{filter:brightness(1.12)}
.pp-copy svg{width:16px;height:16px}
.pp-people{display:flex;flex-direction:column}
.pp-pr,.pp-row{display:flex;align-items:center;gap:12px;min-height:52px}
.pp-av{flex:none;width:32px;height:32px;border-radius:50%;background:var(--c,#8a9aa3);color:#fff;font-style:normal;font-size:14px;font-weight:700;display:grid;place-items:center;line-height:1}
.pp-av.me{background:var(--teal)}
.pp-pn,.pp-n{flex:1;min-width:0}.pp-pn{font-size:14px;font-weight:700}
.pp-n b{display:block;font-size:14px;font-weight:700}.pp-n small{display:block;font-size:14px;color:var(--muted)}
.pp-row.off .pp-n,.pp-row.off .pp-av{opacity:.5}
.pp-b{flex:none;min-height:36px;padding:0 12px;border:0;border-radius:var(--r-m);background:var(--ghost);color:var(--teal);font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:4px;cursor:pointer}
.pp-b:hover{background:rgba(32,51,62,.1)}.pp-b svg{width:16px;height:16px}
.pp-b.dng{background:transparent;color:var(--red)}.pp-b.dng:hover{background:#fbeeec}
.pp-lab{margin:16px 0 8px;font-size:14px;font-weight:700;color:var(--ink)}
.pp-share .pp-lab{margin-top:20px;color:var(--muted)}
.pp-foot{border-top:1px solid var(--line);padding:8px 12px}
.pp-text{min-height:36px;padding:0 8px;border:0;border-radius:var(--r-m);background:transparent;color:var(--muted);font-size:14px;font-weight:500;cursor:pointer}
.pp-text:hover{background:var(--hv);color:var(--ink)}
/* ダウンロード */
.dl-forms{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dl-f{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 8px;border:1px solid var(--line);border-radius:var(--r-m);background:#fff;color:var(--ink);cursor:pointer;min-height:0}
.dl-f svg{width:84px;height:44px;display:block}
.dl-f b{font-size:14px;font-weight:700;white-space:nowrap}
.dl-f:hover{background:var(--hv)}
.dl-f[aria-pressed=true]{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#f3f9fb;color:#0f5c76}
.dl-f[aria-pressed=true] b{font-weight:800}
.f-line{fill:none;stroke:#bccbd2;stroke-width:1.5}.f-fill{fill:var(--teal)}.f-fill2{fill:#c4631b}.f-ln{fill:#bccbd2}.f-ln2{fill:#dbe3e7}.f-dot{fill:var(--teal)}.f-dot2{fill:#b34538}
.dl-forms+.pp-sub{margin:8px 0 0}
.pp-fr{display:flex;align-items:center;gap:12px;margin-top:12px}.pp-fr .pp-lab{margin:0;flex:none;width:48px}.pp-fr .pp-seg{flex:1;min-width:0}
.pp-seg{display:flex;gap:6px}
.pp-seg button{flex:1 1 auto;min-height:36px;padding:0 10px;border:0;border-radius:var(--r-m);background:var(--ghost);color:var(--ink);font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.pp-seg button:hover{background:rgba(32,51,62,.1)}
.pp-seg button[aria-pressed=true]{background:#dbe9ee;color:#0f5c76;font-weight:800}
.pv-l{display:none}
.pv13w{margin-top:16px}.pv13{position:relative;width:100%;aspect-ratio:297/210;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:#fff}
.pv13-in{position:absolute;left:0;top:0;width:1047px;height:740px;transform-origin:0 0;transform:scale(var(--s,.36));pointer-events:none}
.pv13.ev{aspect-ratio:auto;padding:4px 16px;margin-top:16px}
.pv13w.xl .pv13{border-bottom:0;border-radius:var(--r-m) var(--r-m) 0 0}
.xl-tabs{display:flex;gap:4px;padding:4px 8px;border:1px solid var(--line);border-radius:0 0 var(--r-m) var(--r-m);background:#f1f4f6;overflow:hidden}
.xl-tabs span{padding:2px 12px;border-radius:6px;font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap}.xl-tabs span.on{background:#fff;color:#1f6e49;font-weight:800;box-shadow:inset 0 -2px 0 #1f6e49}
.pp-cap{margin:8px 0 0;font-size:14px;color:var(--muted);text-align:center}
.pv-ev{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)}.pv-ev:first-child{border-top:0}
.pv-ev i{flex:none;width:6px;align-self:stretch;border-radius:3px;background:var(--c,#b34538)}
.pv-ev b{display:block;font-size:14px}.pv-ev small{font-size:14px;color:var(--muted)}
.pv-more{padding:8px 0 4px;font-size:14px;color:var(--muted);border-top:1px solid var(--line)}
.pp-note.ics{margin:4px 0 0}
.pp-ft{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--line)}
.pp-sum{min-width:0;font-size:14px;color:var(--muted)}
/* 1 枚の紙（PDF・見本・画像のもと） */
.pg13{width:1047px;height:740px;background:#fff;color:#20333e;padding:28px 32px 16px;display:flex;flex-direction:column;gap:12px;box-sizing:border-box;font-family:'Noto Sans JP',sans-serif;line-height:1.5}
.pg13-h{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.pg13-h h1{margin:0;font-size:24px;font-weight:800;line-height:1.3}
.pg13-v{display:flex;gap:24px;margin-top:4px;font-size:14px;color:#526b76}.pg13-v b{color:#20333e;font-weight:800}
.pg13-m{font-size:24px;font-weight:800;white-space:nowrap}
.pg13-b{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.pg13-f{display:flex;justify-content:space-between;padding-top:8px;border-top:1px solid #dbe3e7;font-size:14px;color:#526b76}
.mwd{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-bottom:6px;font-size:14px;font-weight:700;color:#526b76}
.mwd span{text-align:center}.mwd .we{color:#8a9aa3}
.mws{flex:1;min-height:0;display:flex;flex-direction:column;border-top:1px solid #dbe3e7;border-left:1px solid #dbe3e7}
.mw{position:relative;flex:1 1 0;min-height:calc(34px + var(--tr) * 26px);border-bottom:1px solid #dbe3e7}
.mw-bg{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.mc{display:flex;flex-wrap:wrap;gap:0 6px;align-items:baseline;align-content:flex-start;padding:4px 8px;border-right:1px solid #dbe3e7;min-width:0;overflow:hidden}
.mc b{font-size:14px;font-weight:800}.mc.out b{color:#a6b8c1}.mc.rest{background:#f4f7f8}
.mc .hol{color:#b34538}.mc small{font-size:14px;font-weight:600;line-height:1.5}
.mc.fl{box-shadow:inset 0 -3px 0 #b34538}.mc small.flg{margin-left:auto;color:#b34538;font-weight:800}
.mw-bars{position:absolute;left:0;right:0;top:32px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:24px;row-gap:2px}
.mb{margin:0 3px;border-radius:6px;background:var(--c);color:#fff;font-size:14px;font-weight:700;padding:0 8px;display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap;min-width:0}
.mb span{overflow:hidden;text-overflow:ellipsis}.mb small{font-size:14px;font-weight:500;opacity:.92}
.mb.cl{margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.mb.cr{margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}
.mb.dn{opacity:.62}
.mt{margin:0 3px;border-radius:6px;border:1px solid color-mix(in srgb,var(--c) 55%,#fff);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 38%,#fff) 0 4px,#fff 4px 8px)}
.mt.cr{margin-right:0}
.gantt{border:1px solid #dbe3e7;border-radius:8px;overflow:hidden;flex:0 0 auto}
.gr{display:grid;grid-template-columns:minmax(160px,24%) minmax(0,1fr);border-top:1px solid #dbe3e7}
.gh{border-top:0;background:#f4f7f8}
.gn{padding:8px 12px;min-width:0;align-self:center}.gn b{display:block;font-size:14px;font-weight:700}.gn small{font-size:14px;color:#526b76}
.gt{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-auto-rows:minmax(52px,auto);align-items:center;border-left:1px solid #dbe3e7}
.gtw{grid-template-columns:repeat(var(--wk),minmax(0,1fr));grid-auto-rows:36px}.gtw span{font-size:14px;font-weight:600;color:#526b76;padding:0 4px;white-space:nowrap}
.gb{grid-row:1;height:22px;border-radius:5px;background:var(--c)}
.gtail{grid-row:1;height:22px;border-radius:5px;border:1px solid color-mix(in srgb,var(--c) 55%,#fff);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 38%,#fff) 0 4px,#fff 4px 8px)}
.grest{grid-row:1;align-self:stretch;background:#eef2f4}.gflag{grid-row:1;align-self:stretch;border-left:2px solid #b34538}
.gr.dn .gb{opacity:.6}
.ms{list-style:none;margin:0;padding:0}
.mi{display:grid;grid-template-columns:148px 24px minmax(0,1fr);gap:0 12px;align-items:center;min-height:48px}
.mi time{font-size:16px;font-weight:700;text-align:right}
.rail{align-self:stretch;position:relative}.rail:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:#d5dfe3}
.rail:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--c);border:2px solid #fff;box-shadow:0 0 0 1px var(--c);box-sizing:content-box}
.mi:first-child .rail:before{top:50%}.mi:last-child .rail:before{bottom:50%}
.mt2 b{font-size:16px;font-weight:700}.mt2 small{margin-left:8px;font-size:14px;color:#526b76}
.mi.flag time,.mi.flag .mt2 b{color:#b34538}.mi.dn .mt2 b{color:#526b76}
.g-none{color:#526b76}
#print-area{display:none}
@media print{@page{size:A4 landscape;margin:10mm}html,body{height:auto!important;overflow:visible!important;background:#fff!important}body>*:not(#print-area){display:none!important}#print-area{display:block!important}#print-area,#print-area *{-webkit-print-color-adjust:exact;print-color-adjust:exact}#print-area .pg13{width:auto;height:189mm;padding:0;break-after:page;page-break-after:always;overflow:hidden}#print-area .pg13:last-child{break-after:auto;page-break-after:auto}}
/* 知らせ */
.n13{position:fixed;left:24px;bottom:56px;z-index:130;display:flex;align-items:center;gap:12px;max-width:min(520px,calc(100vw - 32px));padding:12px 8px 12px 16px;border-radius:var(--r-l);background:#20333e;color:#fff;box-shadow:0 8px 28px rgba(32,51,62,.28);font-size:14px;line-height:1.5}
.n13[hidden]{display:none}
.n13-av{flex:none;width:28px;height:28px;border-radius:50%;background:var(--c);display:grid;place-items:center;font-style:normal;font-weight:700}
.n13-ok{flex:none;width:24px;height:24px;border-radius:50%;background:#2f9e6f;color:#fff;display:grid;place-items:center}.n13-ok svg{width:16px;height:16px}
.n13-t{flex:1;min-width:0;font-weight:500}.n13-t small{display:block;color:#a9bcc6;font-size:14px}
.n13-a{flex:none;min-height:36px;padding:0 12px;border:0;border-radius:var(--r-m);background:rgba(255,255,255,.12);color:#fff;font-size:14px;font-weight:700;cursor:pointer}.n13-a:hover{background:rgba(255,255,255,.2)}
.n13-x{flex:none;width:36px;height:36px;padding:0;border:0;border-radius:var(--r-m);background:transparent;color:#a9bcc6;display:grid;place-items:center;cursor:pointer;min-height:0}.n13-x:hover{background:rgba(255,255,255,.12);color:#fff}
/* 開いた人の画面（作った人と同じ画面。札・薄い帯・できることだけが違う） */
.g13-tag{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:36px;margin-right:16px;padding:0 4px 0 12px;border:1px solid #cfe2e9;border-radius:18px;background:#eef6f9;white-space:nowrap}
.g13-tag i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.g13-tag b{font-size:14px;font-weight:800}.g13-tag small{font-size:14px;color:var(--muted)}
.g13-back{min-height:28px;margin-left:4px;padding:0 12px;border:0;border-radius:14px;background:#fff;color:var(--teal);font-size:14px;font-weight:700;cursor:pointer}.g13-back:hover{background:#dbe9ee}
body.as-guest.g-mine .share-top,body.as-guest.g-view .share-top,body.as-guest .tb-put,body.as-guest.g-mine #rest-link,body.as-guest.g-view #rest-link,body.as-guest.g-mine [data-card="rest"],body.as-guest.g-view [data-card="rest"],body.as-guest.g-mine .note-add,body.as-guest.g-view .note-add,body.as-guest.g-mine .rec-add,body.as-guest.g-view .rec-add,body.as-guest.g-mine .calendar-top,body.as-guest.g-view .calendar-top{display:none!important}
body.as-guest.g-mine .project-title,body.as-guest.g-view .project-title{pointer-events:none}
body.as-guest.g-mine .bar .handle,body.as-guest.g-view .bar .handle{display:none}
body.as-guest .bar[data-box]{cursor:pointer}
body.as-guest .tb-val.tb-static .meter{display:none}
.g13-cta{font-size:14px;color:var(--muted)}.g13-cta b{color:var(--ink);font-weight:700}
.g13-make{margin-left:12px;color:var(--teal);font-size:14px;font-weight:700;text-decoration:none;padding:6px 8px;border-radius:var(--r-m)}.g13-make:hover{background:var(--hv)}
.corner:has(.g13-cta){justify-content:center}
.g13-card .card-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 16px;min-height:48px}
.g13-card .card-name{padding:0!important;min-height:0!important}
.g13-card .item-value{display:inline-flex;align-items:center;gap:8px}
.g13-left{color:var(--muted)}
.g13-acts{margin-top:12px}
.g13-two{display:flex;gap:8px}.g13-two .act-btn{flex:1}
.act-btn.g13-ok,.act-btn.g13-tell{background:var(--teal);color:#fff}.act-btn.g13-ok:hover,.act-btn.g13-tell:hover{filter:brightness(1.12);background:var(--teal)}
.g13-two .act-btn[aria-expanded=true]{background:#dbe9ee;color:#0f5c76}
.g13-late{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.g13-step{display:inline-flex;align-items:center;height:36px;border-radius:var(--r-m);background:var(--ghost)}
.g13-step button{width:36px;height:36px;padding:0;border:0;background:transparent;color:var(--teal);font-size:18px;font-weight:700;cursor:pointer;min-height:0}.g13-step button:disabled{opacity:.35;cursor:default}
.g13-step b{min-width:76px;text-align:center;font-size:14px;font-weight:700}
.g13-late .act-btn{width:auto;padding:0 20px}
.g13-done{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#1f6e49;font-size:14px;font-weight:800}.g13-done span{display:inline-flex;align-items:center;gap:4px}.g13-done .act-btn{width:auto}
.g13-stop{position:fixed;inset:0;z-index:150;background:rgba(32,51,62,.4);display:grid;place-items:center;padding:16px}
.g13-stopc{width:min(440px,100%);background:#fff;border-radius:var(--r-l);box-shadow:0 8px 28px rgba(32,51,62,.28);padding:32px 24px;text-align:center}.g13-stopc b{font-size:16px;font-weight:800}.g13-stopc p{margin:8px 0 20px;color:var(--muted)}
.corner [data-open13]{margin-left:4px}
.g13-chev{display:none}
@media(max-width:700px){
 body.as-guest .corner{min-height:36px;padding:0 16px;flex-wrap:nowrap}body.as-guest .g13-cta{display:none}body.as-guest .g13-make{margin:0;padding:0 8px;font-size:14px;min-height:36px;display:inline-flex;align-items:center}
 body.as-guest .center{height:calc(100dvh - 231px);min-height:300px} body.as-guest .app{padding-bottom:108px}body.as-guest .n13{bottom:116px}
 body.as-guest main.body>.side{display:block!important;border:0;padding:0;height:0;min-height:0}body.as-guest main.body>.side .right-scroll{padding:0;height:0;min-height:0}
 .g13-card{position:fixed!important;left:0;right:0;bottom:36px;z-index:112;margin:0!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:#fff;box-shadow:0 -4px 14px rgba(32,51,62,.12);display:flex;align-items:center;gap:8px;min-height:68px;padding:8px 12px}
 .g13-card .card-h{flex:1;min-width:0;background:transparent;box-shadow:none;border-radius:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:0;min-height:0;border:0;cursor:pointer}
 .g13-card .card-name{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:inline-flex;align-items:center;gap:4px}
 .g13-card .card-sum{font-size:14px;color:var(--muted);white-space:nowrap}
 .g13-chev{display:inline-grid;place-items:center;transform:rotate(180deg);color:var(--muted)}
 .g13-card .card-body{flex:none;padding:0;border:0;display:block}
 .g13-card .item{display:none}.g13-card .g13-acts{margin:0}
 .g13-card .g13-two .act-btn{flex:none;width:76px;padding:0}
 .g13-card .g13-late{display:none}
 .g13-card .g13-done .act-btn{width:auto;padding:0 12px}
 .g13-card.g13-open{display:block;padding:0;border-top:2px solid var(--teal)!important}
 .g13-card.g13-open .card-h{flex-direction:row;align-items:center;justify-content:space-between;padding:8px 16px;min-height:56px;border-bottom:1px solid var(--line)}
 .g13-card.g13-open .g13-chev{transform:none}
 .g13-card.g13-open .card-body{padding:8px 16px 16px}
 .g13-card.g13-open .item{display:flex;justify-content:space-between;align-items:center;min-height:40px}
 .g13-card.g13-open .g13-acts{margin-top:8px}.g13-card.g13-open .g13-two .act-btn{flex:1;width:auto}
 .g13-card.g13-open .g13-late{display:flex}
}
@media(max-width:700px){.topband{position:relative}.topband .project-title{order:0;flex:1 0 calc(100% - 124px);width:calc(100% - 124px);min-width:0;max-width:calc(100% - 124px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topband .tb-right{order:1;margin-left:auto}.topband>*:not(.project-title):not(.tb-right):not(.g13-tag){order:2}.topband #title-input{order:0}
 body:not(.as-guest) .n13{left:12px;right:12px;bottom:12px;padding:8px 4px 8px 12px;gap:8px}.n13-ok,.n13-av{flex:none}.n13-a{padding:0 10px}body:not(.as-guest) .app{padding-bottom:var(--n13h,0px)}.n13-t{font-size:14px}}
@media(max-width:700px){.dl-top span{display:none}.dl-top{padding:0 10px}.n13{left:12px;right:12px;bottom:12px;max-width:none}.g13-tag{margin-right:8px;flex:1 1 auto;min-width:0;flex-wrap:wrap;padding:4px 4px 4px 12px;white-space:normal}.g13-tag small{display:none}.pp-menu{left:-48px;width:min(344px,calc(100vw - 48px))}}

.pv13-n{position:absolute;right:8px;bottom:8px;z-index:1;padding:0 8px;border-radius:6px;background:rgba(32,51,62,.78);color:#fff;font-size:14px;font-weight:700;line-height:24px}
.pv13w{position:relative}.pv13w.xl .pv13-n{bottom:44px}

.pp-b.ok,.pp-copy.ok{background:#e1f1e8;color:#1f6e49}
.pp-copy.ok:hover{filter:none}
.bar.g-other{opacity:1!important;filter:none!important;background:color-mix(in srgb,var(--row-color) 22%,#fff)!important;border-color:color-mix(in srgb,var(--row-color) 45%,#fff)!important;box-shadow:none!important}
.bar.g-other .bar-name,.bar.g-other .bar-name *{color:color-mix(in srgb,var(--row-color) 82%,#000)!important;font-weight:700}
body.as-guest .tb-val.tb-static{display:none}

.pp-lab{white-space:nowrap;min-width:56px}
.n13{max-width:min(600px,calc(100vw - 32px))}.n13-t{word-break:keep-all;overflow-wrap:anywhere}
.pp-n small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}


/* v13w: 外は透明の受け皿・小窓の中だけ転がす・見本を送る／大きく見る・範囲は月の始めと終わり */
.pp-back{position:fixed;inset:0;z-index:119;background:transparent;cursor:default}
.pp{display:flex;flex-direction:column;overflow:hidden;outline:0}
.pp-h{flex:none}.pp-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.pp-ft,.pp-foot{flex:none}
.pv13p{position:relative}
.dl-f svg{width:72px;height:36px}.dl-f{padding:6px 4px}.pp-body{padding-top:0}.pp-lab{margin:12px 0 8px}.pv13w{margin-top:12px}
.pv13[data-p13=big]{cursor:zoom-in}.pv13[data-p13=big]:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.pv13w.xl .pv13-n{bottom:8px}
.pv-ar{position:absolute;top:calc(50% - 18px);z-index:2;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.95);color:var(--ink);display:grid;place-items:center;cursor:pointer;min-height:0}
.pv-ar.l{left:8px}.pv-ar.r{right:8px}.pv-ar:hover:not(:disabled){background:#fff;border-color:var(--teal);color:var(--teal)}
.pv-ar:disabled{opacity:.3;cursor:default}.pv-ar:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.xl-tabs{overflow-x:auto;scrollbar-width:thin}
.xl-tabs button{flex:none;min-height:32px;padding:2px 12px;border:0;border-radius:6px;background:transparent;font-family:inherit;font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap;cursor:pointer}
.xl-tabs button.on{background:#fff;color:#1f6e49;font-weight:800;box-shadow:inset 0 -2px 0 #1f6e49}
.xl-tabs button:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.pp-cap{margin:8px 0 0}
.pv-ev{align-items:center}.pv-ev i{align-self:stretch}.pv-d{flex:none;min-width:96px;font-size:14px;color:var(--muted)}.pv-ev b{flex:1;min-width:0}
/* 範囲 */
.pp-rg{display:flex;align-items:center;gap:4px;margin-top:8px;flex-wrap:wrap}
.pp-st{display:inline-flex;align-items:center;height:36px;border-radius:var(--r-m);background:var(--ghost)}
.pp-st button{width:32px;height:36px;padding:0;border:0;background:transparent;color:var(--teal);font-family:inherit;font-size:18px;font-weight:700;cursor:pointer;min-height:0}
.pp-st button:hover{background:rgba(32,51,62,.1)}.pp-st button:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.pp-st b{min-width:78px;text-align:center;font-size:14px;font-weight:700;white-space:nowrap}
.pp-to{padding:0 4px;font-size:14px;font-weight:700;color:var(--muted)}
.pp-rn{margin:8px 0 0;font-size:14px;line-height:1.5;color:#8a4b00}
/* 下の 1 行 */
.pp-sum{flex:1;min-width:0;display:flex;flex-direction:column}
.pp-fn{display:flex;min-width:0;font-size:14px;font-weight:700;color:var(--ink)}
.pp-fn>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-fn>span:last-child{flex:none;white-space:nowrap}
.pp-fd{display:block;font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 共有 */
.pp-url{cursor:pointer;text-align:left}.pp-url:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.pp-url.open{height:auto;min-height:36px;padding:8px 12px;align-items:flex-start;color:var(--ink)}.pp-url.open span{white-space:normal;word-break:break-all;overflow:visible;user-select:text}
.pp-foot{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.pp-smp-l{margin:4px 0 0;padding:0 8px;font-size:14px;font-weight:700;color:var(--muted)}
.pp-smp{align-self:stretch;margin:0 8px 4px;padding:8px 12px;border:1px dashed var(--line);border-radius:var(--r-m);background:#f7f9fa;color:var(--muted);font-size:14px;line-height:1.5;word-break:break-all}
/* ガントの列（週・月） */
.gtw span{overflow:hidden}.gtw.u-month span,.gtw.u-week span{padding:0 2px;text-align:center}
.gh.gy{border-top:0}.gh.gy .gtw span{font-weight:800;color:#20333e;border-left:1px solid #dbe3e7;text-align:left;padding-left:6px}
.gantt.u-week .gt,.gantt.u-month .gt{grid-auto-rows:minmax(44px,auto)}.gantt.u-week .gtw,.gantt.u-month .gtw{grid-auto-rows:32px}
/* 大きく見る */
#big13{position:fixed;inset:0;z-index:140;display:flex;flex-direction:column;background:rgba(32,51,62,.92);color:#fff}
.bg13-h{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;padding:8px 8px 0 20px}
.bg13-t{min-width:0;font-size:16px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bg13-x{color:#fff}.bg13-x:hover{background:rgba(255,255,255,.14);color:#fff}
.bg13-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:8px 16px}
.bg13-sc{max-width:100%;max-height:100%;overflow:auto;border-radius:var(--r-m)}
.bg13-pg{position:relative;flex:none;background:#fff;border-radius:var(--r-m);overflow:hidden}
.bg13-in{position:absolute;left:0;top:0;width:1047px;height:740px;transform-origin:0 0}
.bg13-ev{width:min(560px,calc(100vw - 32px));max-height:100%;padding:8px 20px;background:#fff;color:var(--ink);border-radius:var(--r-m)}
.bg13-ev .pv-ev:first-child{border-top:0}
.pv-ar.bg{position:fixed;top:calc(50% - 24px);width:48px;height:48px;background:#fff;z-index:3}.pv-ar.bg.l{left:16px}.pv-ar.bg.r{right:16px}
.bg13-tabs{flex:none;padding:0 16px 16px;display:flex;justify-content:center}.bg13-tabs .xl-tabs{max-width:100%;border-radius:var(--r-m)}
@media(max-width:700px){.pp-ft{flex-wrap:wrap}.pp-sum{flex:1 1 100%}.pp-go{margin-left:auto}.pv-ar.bg{top:auto;bottom:16px;width:48px;height:48px}}


#big13{background:#1c2b34}
.bg13-h{background:#1c2b34}
.pp-link{align-items:stretch}
.pp-url{padding:6px 12px}.pp-url span{white-space:normal;word-break:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip;line-height:1.4}
/* v14: 小窓に決める。見本は出る物をそのまま縮めた絵 */
.pp-wait{display:flex;align-items:center;gap:12px;padding:8px 0 4px}
.pp-wd{flex:none;display:inline-flex;padding-left:8px}
.pp-wd i{width:32px;height:32px;margin-left:-8px;border-radius:50%;border:2px dashed #c3d1d8;background:#f4f7f8;box-sizing:border-box}
.pp-wait p{margin:0;font-size:14px;color:var(--muted);line-height:1.6}
body.as-guest [data-card="notes"],body.as-guest [data-card="record"],body.as-guest [data-card="people"]{display:none!important}
@media(max-width:700px){
 body.as-guest .mobile-note{display:none}
 body.as-guest .corner{position:fixed;left:0;right:0;bottom:0;z-index:110;background:#fff;flex-wrap:wrap;justify-content:center;padding:6px 16px;min-height:56px;gap:0 4px;text-align:center}
 body.as-guest .app{padding-bottom:64px}body.as-guest main.body{display:flex;flex-direction:column}body.as-guest main.body>.side{order:-1}body.as-guest main.body>.side .card{margin-top:8px}.tb-right{z-index:auto}
}


:root{--gutter:44px}
@media(max-width:700px){:root{--gutter:38px}}
.date-gutter{padding:3px 0 0 6px!important}
.date-gutter strong{font-size:15px!important;white-space:nowrap}
.today-mark{display:none!important}
.bar-who{font-weight:500;font-size:14px;margin-left:12px;opacity:.85}
#people{display:inline-flex;gap:2px;margin-left:10px;align-items:center;flex-wrap:wrap}
#people[hidden]{display:none}
.calendar-top .person-chip{border:0;background:none;color:var(--ink);font-size:14px;font-weight:700;margin:0;padding:3px 8px;min-height:26px;border-radius:6px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.person-chip i{width:10px;height:10px;border-radius:50%;display:inline-block}
.calendar-top .person-chip:hover{background:#eef4f6}
.calendar-top .person-chip.on{background:#e3edf1;box-shadow:inset 0 0 0 1.5px #526b76}
.who-dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:-1px}
.cellbg.prest{background-image:repeating-linear-gradient(135deg,rgba(90,100,110,.16) 0 4px,transparent 4px 8px)}
#current-month{padding:3px 0!important;text-align:center;font-size:14px;color:#294a59;white-space:nowrap;overflow:visible}
.calendar-top[hidden]{display:none!important}
.people-list{display:flex;flex-wrap:wrap;gap:6px}
#hand .person-chip{border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14px;font-weight:700;padding:4px 10px;min-height:32px;border-radius:16px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
#hand .person-chip:hover{background:#eef4f6}
#hand .person-chip.on{background:#e3edf1;border-color:#526b76;box-shadow:inset 0 0 0 1px #526b76}
/* 13p: 右のカードの「できること」と升の小窓をそろえる */
.card-acts{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.act-btn{width:100%;min-height:40px;border:1px solid #176b87;border-radius:8px;background:#fff;color:#176b87;font-size:14px;font-weight:700;padding:6px 10px;text-align:center}
.act-btn:hover{background:#e9f3f6}.act-btn.danger{border-color:var(--red);color:var(--red)}.act-btn.danger:hover{background:#fbeeec}
.act-note{font-size:14px;color:var(--muted);margin:-2px 2px 4px;text-align:center}
.ctx-fact{padding:5px 8px 7px;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:3px;white-space:nowrap}
.card-body .item .item-label{min-width:0}


/* ===== v10: 画面全体の見た目をそろえる（配置・機能・言葉は変えない。最後の定義が効く） =====
   間隔 4 の倍数（カード内 16・カード間 12）／角 6・8・12／線は 1 色／影は小窓だけ／ボタンは主 1 つ＋控えめ／高さ 36（見出し 48） */
:root{--line:#dbe3e7;--line-strong:#a6b8c1;--hv:rgba(32,51,62,.055);--ghost:rgba(32,51,62,.06);--teal:#176b87;--r-s:6px;--r-m:8px;--r-l:12px;--pop:0 4px 16px rgba(32,51,62,.16)}
body{line-height:1.5;font-variant-numeric:tabular-nums}
/* 線: 1 色にそろえる（月の境目だけ濃く） */
.week{border-bottom:1px solid var(--line)}
.week.month-turn{border-top:2px solid var(--line-strong)}
.cellbg.month-start{border-left:2px solid var(--line-strong)}
.cells>div{border-right:1px solid var(--line)}
.top{border-bottom:1px solid var(--line)}
.side{border-left:1px solid var(--line)}
.weekdays{border-bottom:1px solid var(--line)}
.corner{border-top:1px solid var(--line)}
.card{border:1px solid var(--line);border-radius:var(--r-l);box-shadow:none}
.card.on{border-color:var(--teal)}
.card-body{border-top:1px solid var(--line);padding:8px 16px 16px}
.card-body .sec-h:first-child{margin-top:0}
.item,.view .item{border:0;border-top:0;padding:0;min-height:36px}
.sec-h{border-top:0;margin:16px 0 8px;padding-top:0;font-size:14px;color:var(--ink);font-weight:800}.sec-h small{color:var(--muted)}
.rest-view .rest-h{margin:16px 0 8px;font-weight:700}
.card-acts{border-top:0;margin-top:8px;padding-top:0;gap:8px}
.share-actions{border-top:1px solid var(--line)}
.dp-f{border-top:1px solid var(--line)}
.ctx-fact{border-bottom:1px solid var(--line)}
.ver{border-bottom:0}
/* カード・見出し・開け閉めの印（見出しの行の右端に 20px のシェブロン） */
.right-scroll{padding:12px}
#hand.view{gap:12px}
.card-h{padding:0 16px;gap:8px;min-height:48px;border-radius:var(--r-l);background:transparent}
div.card-h{padding:0}
div.card-h .card-name{padding:0 0 0 16px;min-height:48px}
div.card-h .card-tg{padding:0 16px 0 8px;gap:8px}
.card-tg{background:transparent;min-height:48px;gap:8px}
.card-name{font-size:16px;font-weight:800;line-height:1.5}
.card-sum{order:2;font-size:14px;font-weight:500;color:var(--muted)}
.chev{order:3;flex:none;position:relative;display:block;width:20px;height:20px;margin:0;padding:0;font-size:0;line-height:0;color:var(--muted)}
.chev:before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border:solid currentColor;border-width:0 2px 2px 0;border-radius:1px;transform:translate(-50%,-68%) rotate(45deg);transition:transform .15s ease}
[aria-expanded="true"]>.chev:before,[aria-expanded="true"] .chev:before{transform:translate(-50%,-32%) rotate(225deg)}
.chev.turn-open:before{animation:chevo .15s ease}.chev.turn-close:before{animation:chevc .15s ease}
@keyframes chevo{from{transform:translate(-50%,-68%) rotate(45deg)}}@keyframes chevc{from{transform:translate(-50%,-32%) rotate(225deg)}}
.card-name-input{font-size:16px;font-weight:800}
/* ボタン: 主（塗り）は 1 画面 1 つ・ほかは控えめ（地の薄い・枠無し）・危ない操作は赤い字だけ。高さ 36・角 8 */
button,.btn,input:not([type=checkbox]):not([type=radio]),select{border-radius:var(--r-m)}
.btn,.share-top,.act-btn,.rbtn,.ex-chip,#hand .person-chip,.calendar-top .person-chip,.dp-f button,.corner button,.crumb button,#rest-link,.tb-val,.project-title,.side-toggle,.side-tg,.viewing-left .btn{min-height:36px;border-radius:var(--r-m)}
.btn,.act-btn,.rbtn,.ex-chip,#hand .person-chip,.dp-f button,.viewing-left .btn{border:0;background:var(--ghost);color:var(--teal);font-size:14px;font-weight:700;padding:0 12px;margin:0}
.btn.tiny{min-height:36px;width:36px;padding:0;margin:0}
.btn.danger,.act-btn.danger{background:transparent;color:var(--red);border:0}
.btn.primary,.share-top,.viewing-left .btn.primary{background:var(--teal);color:#fff;border:0;font-weight:700}
.share-top{padding:0 16px;font-size:14px}
.share-top:disabled{opacity:.4}
.app:has(#viewing-left:not([hidden])) .share-top{background:var(--ghost);color:var(--teal)}
.act-btn{width:100%;text-align:center}
.act-note{margin:-4px 0 4px;font-size:14px;color:var(--muted)}
.rbtn,.ex-chip,#hand .person-chip{color:var(--ink);padding:0 12px}
.rbtn[aria-pressed="true"],#hand .person-chip.on,.calendar-top .person-chip.on{background:#dbe9ee;color:#0f5c76;border:0;box-shadow:none;font-weight:800}
.rbtn.wd{min-width:36px;padding:0}
.rest-kinds,.rest-days{gap:8px}.ex-list{gap:8px}
.view .item-value button,.item-value button{min-height:36px;border:0;border-radius:var(--r-m);background:transparent;padding:0 8px;margin-right:-8px;font-size:14px;color:var(--ink);text-decoration:none}
.view .item-value button:last-child{margin-right:-8px}
.view .item-value button[data-act=plus],.view .item-value button[data-act=minus],.view .item-value button[data-act=range-plus],.view .item-value button[data-act=range-minus]{min-width:36px;padding:0;margin:0;color:var(--teal);font-size:16px}
.view .item-value button[data-act=plus],.view .item-value button[data-act=range-plus]{margin-right:-8px}
.view .item-value button[data-act=delete-box],.view .item-value button[data-act=remove-flag],.view .item-value button[data-act=delete-lane]{color:var(--red)}
.view .item-value button:hover{text-decoration:none}
.view .item-value{gap:4px}
.view .item-value.chips button,.view .rest-list button,.view .choices button,.chips button{border:0;background:var(--ghost);border-radius:var(--r-m);padding:0 12px;margin:0}
.view .sub{padding:4px 0 8px}
.switch{min-height:36px;min-width:44px;justify-content:flex-end;border:0;background:transparent;border-radius:var(--r-m);padding:0;margin-right:-4px}
.switch-track{width:32px;height:20px}.switch-track:after{width:16px;height:16px;top:2px;left:2px;box-shadow:none}.switch[aria-pressed="true"] .switch-track:after{left:14px}
.note-entry{gap:8px;margin:8px 0}
.note{border:0;border-radius:var(--r-m);background:var(--ghost);padding:8px 12px;margin:8px 0}
/* 入力: 1 種類（高さ 36・角 8・線 1 色） */
input:not([type=checkbox]):not([type=radio]),select,.item-value select,.item-value input,.project-head input{min-height:36px;border:1px solid var(--line);border-radius:var(--r-m);background:#fff;padding:0 12px;font-size:14px;color:var(--ink)}
.item-value select,.person-select,select{appearance:none;-webkit-appearance:none;padding:0 32px 0 12px;max-width:200px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5 6 6l4.5-4.5' fill='none' stroke='%23526b76' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center}
.rest-view .rest-h:first-child{margin-top:4px}
.card-name-input{border:1px solid var(--teal);border-radius:var(--r-m);padding:0 8px;margin:0 0 0 8px;min-height:36px}
.topband input#title-input{min-height:36px;border:1px solid var(--teal);border-radius:var(--r-m);padding:0 8px;font-size:16px}
.diff{border:0;border-radius:var(--r-m);background:var(--ghost);padding:12px}
/* ホバー: 押せる物は地を薄く敷くだけ（0.12 秒）。枠・字の太さは変えない。帯は少し明るく */
button,.btn,.tb-val,.ver,.dp-d,.card-h,.card-tg{transition:box-shadow .12s ease,background-color .12s ease,filter .12s ease}
button:not(:disabled):hover,.btn:not(:disabled):hover{box-shadow:inset 0 0 0 999px var(--hv)}
div.card-h:hover{box-shadow:inset 0 0 0 999px var(--hv)}div.card-h button:hover{box-shadow:none}
.btn.primary:hover,.share-top:not(:disabled):hover{box-shadow:none;filter:brightness(1.12)}
/* 古い規則の「ホバーで色が変わる」を打ち消す: 地なしの物は地なしのまま・控えめの物は薄い地のまま。その上に薄い膜を敷く */
.tb-val:hover,#rest-link:hover,.dp-h button:hover:not(:disabled),.dp-d:hover:not(:disabled),.ver:hover,.quick button:hover,.context button:hover,.corner button:hover,.calendar-top .person-chip:hover,.dp-f button:hover{background:transparent}
.rbtn:hover,.ex-chip:hover,.act-btn:hover,.btn:hover,#hand .person-chip:hover,.side-toggle:hover,.side-tg:hover{background:var(--ghost)}
.rbtn[aria-pressed="true"]:hover,#hand .person-chip.on:hover{background:#dbe9ee}
.act-btn.danger:hover,.btn.danger:hover{background:transparent}
.btn.primary:hover,.share-top:not(:disabled):hover{background:var(--teal)}
.bar{transition:filter .12s ease}.bar:hover{filter:brightness(1.07)}
.dp-d.today:hover{box-shadow:inset 0 0 0 2px var(--teal),inset 0 0 0 999px var(--hv)}
.tb-static:hover{box-shadow:none}
/* フォーカス: キーで動いた時だけ 2px の輪 */
button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
button:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:0}
.card-h:focus-visible,.card-tg:focus-visible,.card-name:focus-visible{outline-offset:-2px}
/* 上の帯 */
.top{padding:8px 16px}
.topband{gap:8px 24px;min-height:40px;align-items:center}
.topband .project-title{font-size:18px;font-weight:800;padding:0 8px;margin-left:-8px;min-height:36px;border-radius:var(--r-m);background:transparent}
.tb-val{gap:8px;padding:0 8px;margin:0 -8px;background:transparent;font-size:14px}
.tb-static{margin:0 -8px}
.tb-k{font-size:14px;color:var(--muted)}.tb-v{font-size:16px}
.meter-wrap{gap:4px}.meter-cap{font-size:14px;font-weight:500;line-height:1.2}
.topband .share-top{padding:0 16px;font-size:14px;border-radius:var(--r-m);min-height:36px}
.side-toggle{width:36px;height:36px;border:0;background:var(--ghost);color:var(--teal);right:16px}
@media(min-width:701px){.top{padding-right:68px}.app:has(.body.solo) .top{padding-right:16px}}
/* 下の帯（試作の日） */
.corner{display:flex!important;align-items:center;justify-content:flex-end;gap:4px;padding:4px 16px;min-height:44px;font-size:14px;color:var(--muted);line-height:1.5}
.corner button{font-size:14px;min-height:36px;padding:0 8px;border:0;background:transparent;color:var(--teal);font-weight:700}
/* 升の日付: 左にそろえる・数字の高さを 1 つに */
.date-number{font-variant-numeric:tabular-nums;line-height:24px}
.date{padding:4px 4px}
/* 小窓: 影を付けるのはここだけ */
.context,.quick,.datepop{border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--pop);background:#fff}
.quick:has(>#inline-box){border:0;box-shadow:none;background:none;border-radius:var(--r-s)}
.context{padding:4px;gap:0;min-width:176px}
.context button{min-height:36px;border-radius:var(--r-m);padding:0 12px;font-size:14px;font-weight:600;color:var(--ink);background:transparent;text-align:left}
.context button[data-act*=remove],.context button[data-act=delete-box]{color:var(--red)}
.ctx-fact{padding:8px 12px;margin-bottom:4px;white-space:nowrap}
.datepop{padding:12px;width:320px}
.dp-h button{width:36px;height:36px;border-radius:var(--r-m)}
.dp-d{height:36px;border-radius:var(--r-m)}
.dp-f{margin-top:8px;padding-top:8px}
.dp-f button{min-height:36px;color:var(--red)}
.tip{border-radius:var(--r-m)}
.share-modal{border:0;border-radius:var(--r-l)}
.ex-mark{border-radius:var(--r-s)}
.undo-toast{border-radius:var(--r-m)}
.lane-name button{border-radius:var(--r-s)}
.endlabel,.endlabel.at-edge,.short-label,.guide-note{border-radius:var(--r-s)}
.viewing-left{border-bottom:1px solid var(--line)}
.phone,.share-modal .phone{border-color:var(--line);border-radius:var(--r-l)}
@media(max-width:700px){.topband{gap:0 16px}.tb-val.tb-static{flex-wrap:nowrap;gap:6px;padding:0 4px;margin:0 -4px;min-width:0}.tb-val .tb-k,.tb-val .tb-v{white-space:nowrap}.tb-val.tb-static .tb-v{font-size:14px}.tb-val.tb-static .meter2{width:64px}.tb-val.tb-static .meter-cap{font-size:12px}}


/* ===== v11: 数の部品・日付未定・記録・担当の行・押せる物の見え方 ===== */
/* 数を変える部品: 1 つの枠の中に − ・数・＋（高さ 32・角 8・薄い枠 1 本） */
.view .item-value .stepper{display:inline-flex;align-items:stretch;gap:0;height:32px;width:200px;margin:0;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:#fff;flex:none}
.view .item-value .stepper .step-b{flex:none;display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:30px;min-height:30px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--teal);font-size:18px;line-height:1;font-weight:500}
.view .item-value .stepper .step-b:disabled{color:var(--muted);opacity:.35;cursor:not-allowed;box-shadow:none}
.stepper .step-mid{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;border-left:1px solid var(--line);border-right:1px solid var(--line);font-size:14px;white-space:nowrap;color:var(--ink)}
.stepper .step-u{color:var(--muted);font-size:14px}
.view .item-value .stepper input.step-n{width:36px;min-width:0;height:28px;min-height:28px;padding:0;margin:0;border:0;border-radius:var(--r-s);background:transparent;text-align:center;font-size:14px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.view .item-value .stepper input.step-n:hover{background:var(--hv)}
.view .item-value .stepper input.step-n:focus{background:#fff;box-shadow:inset 0 0 0 2px var(--teal);outline:0}
.view .item-value:has(.stepper){flex-wrap:nowrap}
.view .item .item-value{justify-content:flex-end}
/* 日付未定 */
#hand .note{display:flex;align-items:center;gap:8px;margin:0;padding:0 0 0 4px;min-height:44px;border-radius:var(--r-m);background:transparent;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)}
#hand .note:last-of-type{border-bottom:0}
#hand .note .grip{flex:none;width:12px;color:var(--muted);letter-spacing:-3px;font-size:14px;opacity:0;cursor:grab;user-select:none;transition:opacity .12s ease}
#hand .note:hover .grip,#hand .note:focus-within .grip{opacity:1}
#hand .note .note-t{flex:1;min-width:0;overflow-wrap:anywhere}
#hand .note .note-set{flex:none;min-height:36px;padding:0 12px;border:0;border-radius:var(--r-m);background:var(--ghost);color:var(--teal);font-size:14px;font-weight:700}
#hand .note-add{display:block;width:100%;margin-top:8px;border:1px dashed var(--line-strong);background:transparent;color:var(--ink)}
#hand .note-add::placeholder{color:var(--muted)}
#hand .note-add:focus{border-style:solid;border-color:var(--teal);background:#fff}
.datepop[aria-label="日付を決める"] .dp-f span{color:var(--ink);font-weight:700}
/* 担当の行（その場で開く） */
.people-rows{display:flex;flex-direction:column}
.prow{border-top:1px solid var(--line)}.prow:first-child{border-top:0}
.prow-h{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 4px;margin:0;border:0;border-radius:var(--r-m);background:transparent;text-align:left;font-size:14px;color:var(--ink)}
.prow-h .pdot{flex:none;width:10px;height:10px;border-radius:50%}
.prow-h .prow-name{font-weight:800;font-size:16px;white-space:nowrap}
.prow-h .prow-sum{margin-left:auto;color:var(--muted);font-size:14px;font-weight:500}
.prow-h .chev{order:0}
.prow-body{padding:0 0 12px 18px}
.prow-body .rest-kinds,.prow-body .rest-days{margin:4px 0 8px}
.prow-body .rest-h{margin:12px 0 8px;font-weight:700;font-size:14px}
.prow-body .add-day{margin-top:4px}
.view .item-value .pname{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.pname .who-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.view .item-value select.who-select{min-height:36px}
/* 記録 */
.rec-add{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:12px 0 12px}
.rec-add input{width:100%}
.rec-add .btn{align-self:flex-end;white-space:nowrap}
#hand .diff-h{font-size:14px;font-weight:700;color:var(--muted);margin-bottom:4px}
#hand .versions{display:flex;flex-direction:column;gap:0}
#hand .versions .ver{display:block;width:100%;min-height:36px;text-align:left;padding:0 8px;margin:0 -8px;border:0;border-radius:var(--r-m);background:transparent;font-size:14px;color:var(--ink)}
#hand .versions .ver.on{background:#dbe9ee}


/* v15: 初めて開いた 30 秒・入口・逆算・もう一度来たとき */
.v15line{display:flex;align-items:center;min-height:40px;padding:0 16px;font-size:16px;font-weight:700;color:#0f5c76;background:#f2f8fa;border-bottom:1px solid var(--line)}
.v15line[hidden]{display:none}
.v15line.warn{color:#9a3d12;background:#fdf3ea}
.body.solo #calendar .week{min-height:80px}.body.solo #calendar .week.blank .lane.empty{height:50px}
.date.v15-cand .date-number{display:inline-block;outline:2px dashed #176b87;outline-offset:2px;border-radius:14px;padding:0 8px;margin-left:-8px;color:#0f5c76;font-weight:800;line-height:22px}
.cellbg.v15-candcell{background:#e6f2f6}
.cellbg.v15ny{box-shadow:inset 0 4px 0 #efd9a6}
.v15-nyt,.v15-wk{font-style:normal;font-size:14px;font-weight:700;pointer-events:none}
.v15-nyt{margin-left:6px;color:#8a5a12}
.v15-wk{position:absolute;right:6px;top:6px;color:var(--muted)}
.project-title.v15-glow{animation:v15g 1.6s ease-in-out infinite;box-shadow:0 0 0 3px rgba(23,107,135,.35)}
@keyframes v15g{0%,100%{box-shadow:0 0 0 2px rgba(23,107,135,.2)}50%{box-shadow:0 0 0 5px rgba(23,107,135,.45)}}
.topband{position:relative}.v15-nm{position:absolute;z-index:30;white-space:nowrap;font-size:14px;font-weight:700;color:#0f5c76;background:#fff;border:1px solid #176b87;border-radius:8px;padding:4px 10px;box-shadow:0 4px 14px rgba(32,51,62,.18);pointer-events:none}.v15-nm:before{content:'';position:absolute;left:18px;top:-6px;width:10px;height:10px;background:#fff;border-left:1px solid #176b87;border-top:1px solid #176b87;transform:rotate(45deg)}
.v15-new{border:0;background:transparent;color:var(--teal,#176b87);font-size:14px;font-weight:700;min-height:36px;padding:0 10px;border-radius:var(--r-m,8px)}
.v15-new:hover{background:#eef4f6}
.pick15,.list15{position:fixed;z-index:140;width:400px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--line);border-radius:var(--r-l,12px);box-shadow:var(--pop,0 8px 28px rgba(32,51,62,.2));padding:8px}
.pk-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 10px 8px}
.pk-h b{font-size:16px}.pk-h span{color:var(--muted);font-size:14px}
.pk-i,.ls-i{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:8px 10px;min-height:44px}
.pk-i:hover,.pk-i:focus-visible,.ls-i:hover,.ls-i:focus-visible{background:#eef4f6}
.pk-i b{display:block;font-size:15px}.pk-i small{display:block;font-size:14px;color:var(--muted);line-height:1.4;margin-top:2px}
.pk-blank,.ls-new{border-top:1px solid var(--line);border-radius:0 0 8px 8px;margin-top:4px}
.list15{width:480px}.ls-i{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 16px;align-items:center;font-size:14px}
.ls-i b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ls-i span{color:var(--muted);white-space:nowrap}.ls-i.on{background:#e8f1f4}
.ls-new{display:block;color:var(--teal,#176b87);font-weight:700}
.v15-send{border:0;border-radius:8px;background:#176b87;color:#fff;font-weight:800;min-height:36px;padding:0 12px;margin-top:4px}
.corner{flex-wrap:wrap;row-gap:0}.corner .c15{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0 2px;margin-right:12px}
.corner button[aria-pressed="true"]{text-decoration:underline;text-underline-offset:4px;color:#0f5c76}
@media(max-width:700px){.v15line,.v15-new,.v15-wk{display:none!important}.corner{justify-content:flex-start;padding:4px 8px}.corner .c15{margin-right:0}.body.solo #calendar .week{min-height:70px}.pick15,.list15{left:12px!important;right:12px;width:auto}}


/* v16: 来た所で変えない・出口と輪 */
.pg13-f.has-lk{align-items:center;justify-content:flex-start;gap:24px;min-height:40px}
.pg13-lk{margin-left:auto;color:#526b76}.pg13-lk b{color:#20333e;font-weight:800}
.pg13-qr{flex:none;width:60px;height:60px;display:block;margin:-6px 0 -6px 0}.pg13-qr svg{display:block;width:60px;height:60px}
.og-lab{margin:20px 0 8px;font-size:14px;font-weight:700;color:var(--muted)}
.og{display:flex;gap:0;background:#f7f9fa;border:1px solid var(--line);border-radius:var(--r-m);padding:12px 12px 12px 12px}
.og-bar{flex:none;width:4px;border-radius:2px;background:#c9d3d8;margin-right:12px}
.og-b{min-width:0;flex:1}
.og-s{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--ink);line-height:20px}
.og-s i{width:16px;height:16px;border-radius:4px;background:#176b87;display:inline-block;flex:none}
.og-t{margin-top:2px;font-size:15px;font-weight:800;color:#1264a3;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.og-d{font-size:14px;color:var(--ink);line-height:20px}
.og-img{position:relative;margin-top:8px;width:100%;aspect-ratio:2.8/1;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.og-in{position:absolute;left:0;top:0;width:1047px;height:740px;transform-origin:0 0;transform:scale(var(--s,.3));pointer-events:none}
.og-none{display:grid;place-items:center;height:100%;color:var(--muted);font-size:14px;background:#fff}
.lk16{display:flex;align-items:flex-start;gap:12px;margin-top:16px;width:100%;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}
.lk16 span{min-width:0;font-size:14px;line-height:1.5;color:var(--muted)}.lk16 b{display:block;color:var(--ink);font-size:14px}
.sw16{flex:none;position:relative;display:block;width:44px;height:28px;margin-top:2px;border-radius:14px;background:#b9c6cc;transition:background .15s}
.sw16 i{position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(32,51,62,.3);transition:left .15s}
.lk16[aria-checked=true] .sw16{background:#176b87}.lk16[aria-checked=true] .sw16 i{left:19px}
.g13-cta{font-size:14px}
body.as-guest .corner{justify-content:center}
body.as-guest .g13-make{margin-left:12px;background:#176b87;color:#fff;padding:0 16px;border-radius:var(--r-m);min-height:36px;display:inline-flex;align-items:center;font-size:14px;font-weight:800}
body.as-guest .g13-make:hover{background:#0f5c76}
@media(max-width:700px){
 body.as-guest .g13-cta{display:block;flex:1 1 100%;text-align:center;font-size:14px;line-height:1.4;margin:0 0 4px}
 body.as-guest .corner{padding:8px 16px 10px;min-height:0}
 body.as-guest .g13-make{margin:0;flex:1 1 100%;justify-content:center;padding:0 12px;min-height:44px}
 body.as-guest .app{padding-bottom:104px}body.as-guest .n13{bottom:112px}
}
.og.plain{padding-bottom:12px}.og.plain .og-t{white-space:normal}
.og-sw{margin:0 0 10px}
.up16{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:14px;color:var(--muted);line-height:1.5}.up16 .pp-b{flex:none;min-height:36px}
.up16.ok{color:#1f6e49;font-weight:700;margin:12px 0 0}
.og-head{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:14px 0 8px}.og-head .og-lab{margin:0}
.og-sw{width:auto;margin:0;flex:none;align-items:center;gap:8px}.og-sw b{font-size:14px;color:var(--ink)}.og-sw .sw16{width:38px;height:24px;margin:0}.og-sw .sw16 i{width:18px;height:18px}.lk16[aria-checked=true].og-sw .sw16 i{left:17px}
.og-img{aspect-ratio:auto;height:auto}
.og-cal{padding:6px 8px;display:flex;flex-direction:column;gap:3px;background:#fff}
.og-w{position:relative;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--tr),9px);gap:2px 0;padding:2px 0;border-top:1px solid #e3eaee}
.og-w .c{grid-row:1/span var(--tr);margin:-2px 0}.og-w .c.off{background:#eef2f4}.og-w .c.fl{background:#f3d3cf;box-shadow:inset 0 0 0 1px #b34538}.og-w .c.m1{border-left:2px solid #9fb2bb}
.og-w .bar{position:relative;z-index:1;display:block;height:9px;border-radius:3px;margin:0 1px}.og-w .bar.t{opacity:.35}
.pp-smp-l{border:0;background:transparent;text-align:left;min-height:36px;cursor:pointer}.pp-smp-l:hover{color:var(--ink)}
.pp-foot:not(.open) .pp-smp{height:0;margin:0;padding:0;border:0;overflow:hidden;visibility:hidden}
.pv13-n{position:static!important;display:block;width:max-content;margin:8px 0 0 auto}


/* ===== v18: 札の絵・初めての共有・直すためのリンク・消す・開けない画面 ===== */
.og-cv{display:block;width:100%;height:auto;aspect-ratio:1200/630;background:#fff}
.og-first{margin:16px 0 0;padding:12px;border:2px solid #176b87;border-radius:12px;background:#f3f9fb}
.og-first .og-head{margin-top:10px}
.of-q{margin:0;font-size:14px;line-height:1.6;color:var(--ink)}.of-q b{display:block;font-size:15px;margin-bottom:2px}
.of-go{margin-top:12px;width:100%;justify-content:center;min-height:40px}
.of-wait{margin:8px 0 0;font-size:14px;color:var(--muted)}
.pp-copy:disabled,.pp-go:disabled,.pp-b:disabled{opacity:.4;cursor:default;filter:none}
.dl18{margin:8px 0 12px;padding:12px;border:1px solid #176b87;border-radius:12px;background:#f3f9fb}
.dl18 b{display:block;font-size:15px}.dl18 p{margin:4px 0 8px;font-size:14px;line-height:1.6;color:var(--muted)}
.dl18-b{display:flex;flex-wrap:wrap;gap:8px}
.ok18{flex:none;border-top:1px solid #e8c36a;background:#fff8e6;padding:8px 12px}
.ok18-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;font-size:14px;color:#6b4a06}
.ok18-h .pp-b{background:#fff;border:1px solid #c98a12;color:#7a4f00}
.ok18-p{margin-top:8px;padding:12px;border:2px solid #c98a12;border-radius:12px;background:#fff3d6;font-size:14px;line-height:1.6;color:#4a3200}
.ok18-w{margin:0 0 8px}.ok18-w b{display:block}
.ok18-u{padding:8px 12px;border:1px dashed #c98a12;border-radius:8px;background:#fff;color:#4a3200;font:14px/1.5 ui-monospace,Menlo,monospace;word-break:break-all}
.ok18-b{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ok18-b .pp-b{background:#fff;border:1px solid #c98a12;color:#7a4f00}.ok18-b .pp-b.dng{color:var(--red)}
.ok18-a{margin-top:8px;padding:12px;border-radius:8px;background:#fff;border:1px solid var(--red)}.ok18-a p{margin:0 0 8px}.ok18-a .pp-go{background:var(--red)}
.ok18-m{margin:8px 0 0;font-weight:700}
.list15{width:min(640px,calc(100vw - 24px))}
.ls-r{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px}
.ls-r .ls-i{width:100%}
.ls-del{min-height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--red);font-size:14px;font-weight:700;white-space:nowrap}
.ls-del:hover{background:#fbeeec}
.del18{position:fixed;inset:0;z-index:170;background:rgba(32,51,62,.4);display:grid;place-items:center;padding:16px}
.del18-c{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(32,51,62,.28);padding:20px 20px 16px;font-size:14px;line-height:1.6}
.del18-c h2{margin:0 0 8px;font-size:16px;font-weight:800}.del18-c p{margin:0 0 8px}
.del18-k{padding:12px;border:2px solid #c98a12;border-radius:12px;background:#fff3d6;margin:8px 0}
.del18-l{display:block;margin-top:12px;font-weight:700}.del18-l input{display:block;width:100%;min-height:36px;margin:4px 0 8px;padding:0 10px;border:1px solid #9fb4bd;border-radius:8px;font-size:14px}
.del18-s{color:var(--muted)}.del18-s.ok{color:var(--green-ink);font-weight:700}
.del18-f{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}
.g18-gone{padding:28px 20px 20px}.g18-gone b{display:block;font-size:18px;line-height:1.5}.g18-gone p{min-height:0}
.g18-gone p:empty{display:none}
.g18-ic{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:#eef2f4;color:#526b76}.g18-ic svg{width:28px;height:28px}
.g18-make{width:100%;justify-content:center;min-height:44px;margin:12px 0 8px}
.g18-back{width:100%;justify-content:center}
@media(max-width:700px){.ls-r{grid-template-columns:1fr;gap:0;border-bottom:1px solid var(--line)}.ls-del{justify-self:end}.corner{white-space:normal}}
.g18-make{flex-direction:column;gap:0;padding:8px 12px}.g18-make small{display:block;font-size:14px;font-weight:700;opacity:.92}
.ok18-p.in{margin:16px 0 0}
.og{padding:6px}.og-bar{width:3px;margin-right:6px}.og-b{min-width:0}.og-img{border:0;border-radius:6px}.og-cv{cursor:zoom-in;border:1px solid var(--line);border-radius:6px}
.og-zh{margin:6px 0 0;font-size:14px;color:var(--muted)}
.og18z{position:fixed;inset:0;z-index:180;background:rgba(32,51,62,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px}
.og18z .og-cv{width:min(1200px,calc(100vw - 32px));cursor:default;border-radius:8px}.og18z-x{background:#fff}
@media(min-width:701px){#pop13.pp-share.w18{width:min(560px,calc(100vw - 24px))!important;left:auto!important;right:12px}}
.og-first .og-lab,.og-first .og-zh{display:none}.og-first{margin:0 0 12px;padding:10px}.og-first .og-head{margin:8px 0 6px;gap:0}.of-go{margin-top:8px}
.og-zh{margin:2px 0 0;line-height:18px}

/* v19: 共有の窓（言い切り・このリンクの様子）と受け手の 1 行 */
.pp-acc .can19{font-size:15px;font-weight:700;color:var(--ink)}
.pp-acc .can19 em{font-style:normal;color:#176b87;white-space:nowrap}
.st19{margin-top:4px}
.st19-n{margin:0;font-size:15px;font-weight:700;color:var(--ink);line-height:1.5}
.st19-n.zero{font-weight:500;color:var(--muted)}
.st19-s{margin:4px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
.st19-b{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.st19-b .pp-b{min-height:40px}
.g19-rcv{font-size:12px;color:var(--muted);line-height:1.4;margin:0 12px 0 0}
@media (max-width:700px){.g19-rcv{display:block;flex:1 1 100%;text-align:center;margin:0 0 4px}body.as-guest .app{padding-bottom:84px}body.as-guest:has(.g19-rcv) .center{height:calc(100dvh - 268px);min-height:260px}}
/* 下の帯（試作の操作）は ?debug=1 のときだけ出す（本番には無い物。10/20 夜 ユーザー） */
/* 受け手の画面では同じ帯が本物の下の帯（作った人への 1 行・自分も作る）なので残す */
html:not(.debug19) .corner:not(:has(.g13-make,.g13-cta,.g19-rcv)){display:none!important}
/* v19b(10/20): このリンクの様子（回数を大きく）・窓の中の言い切りを SP でも 1 行 */
.st19-n.cnt{display:block;min-height:42px;line-height:36px;font-size:15px;font-weight:500;color:var(--ink)}
.st19-n.cnt .st19-num{font-size:28px;font-weight:800;color:#176b87;line-height:36px;margin-right:2px;font-variant-numeric:tabular-nums;vertical-align:baseline}
.st19-n.cnt .st19-l{display:inline-block;white-space:nowrap;font-size:13px;font-weight:400;color:var(--muted);line-height:1}
.st19-n.cnt.zero{font-weight:500;color:var(--muted)}
@media (max-width:700px){
 .pp-acc:has(.can19){gap:8px}
 .pp-acc:has(.can19) .pp-ico{display:none}
 .pp-acc .can19{font-size:14px;line-height:28px;margin-top:0;white-space:nowrap}
 .pp-at>b.can19{margin-top:0}
 .st19-n.cnt .st19-num{font-size:26px}
}
/* 上のメニュー（⋯） */
.menu19-w{position:relative;flex:none;margin-left:auto;display:inline-flex;align-items:center}
.tb-right~.menu19-w,.tb-fill~.menu19-w{margin-left:8px}
.menu19{width:36px;height:36px;border:1px solid var(--line,#d5dde2);border-radius:8px;background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0}
.menu19:hover{background:#f2f6f8}
.menu19-p{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:200px;background:#fff;border:1px solid var(--line,#d5dde2);border-radius:10px;box-shadow:0 6px 20px rgba(20,40,50,.14);padding:4px}
.menu19-p[hidden]{display:none}
.menu19-p button{display:block;width:100%;text-align:left;min-height:44px;padding:0 12px;border:0;background:none;border-radius:8px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.menu19-p button:hover{background:#eef4f7}



/* v19b: 休みの札の 2 行・長い名前・メモと概要 */
.ex-rows{display:flex;flex-direction:column;gap:8px}
.ex-row{display:flex;gap:10px;align-items:flex-start}
.ex-lab{flex:0 0 6em;font-size:13px;color:var(--muted);line-height:32px;white-space:nowrap}
.ex-row .ex-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;flex:1;min-width:0;align-items:flex-start}
.ex-chip.faint{opacity:.6}
.ex-note{font-size:13px;color:var(--muted);line-height:1.5}
.card-h19{flex-wrap:wrap;align-items:flex-start;padding:10px 14px 0!important;row-gap:0}
.card-h19 .nm19{flex:1 1 100%;min-width:0;width:100%;resize:none;overflow:hidden;border:1px solid transparent;border-radius:var(--r-m,8px);background:transparent;padding:4px 6px;margin:0 -6px;font:inherit;font-size:16px;font-weight:800;line-height:1.45;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.card-h19 .nm19:hover{background:#f3f6f8}
.card-h19 .nm19:focus{outline:0;border-color:var(--teal,#176b87);background:#fff}
.card-h19 .nm19-cnt{flex:1 1 100%;font-size:12px;color:var(--muted);padding:0 0 2px}
.card-h19 .card-tg{flex:1 1 100%;min-height:32px;padding:0 0 6px!important;background:transparent}
.card-h19 .card-tg .card-sum{text-align:left;flex:1}
.mm19{padding:10px 14px 12px;border-bottom:1px solid var(--line)}
.mm-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.mm-h b{font-size:14px}
.mm-tb{display:flex;gap:4px;flex-wrap:wrap}
.mm-b{min-width:32px;min-height:30px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:13px;font-weight:700;cursor:pointer}
.mm-b:hover{background:#eef4f6}
.mm-b-strike{text-decoration:line-through}
.mm-lk{display:flex;gap:6px;margin-bottom:6px}.mm-lk[hidden]{display:none}
.mm-lk-in{flex:1;min-width:0;min-height:32px;border:1px solid var(--line);border-radius:6px;padding:0 8px}
.mm-lk-in[aria-invalid=true]{border-color:#c4631b}
.mm-edw{position:relative}
.mm-ed{min-height:64px;max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:var(--r-m,8px);padding:8px 10px;background:#fff;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.mm-ed:focus{outline:0;border-color:var(--teal,#176b87)}
.mm-ed.is-empty::before{content:attr(data-ph);position:absolute;left:11px;top:9px;color:#8ba0aa;pointer-events:none;font-size:14px;line-height:1.6;right:10px}
.mm-ed p,.mm-body p{margin:0 0 4px}.mm-ed ul,.mm-ed ol,.mm-body ul,.mm-body ol{margin:0 0 4px;padding-left:1.4em}
.mm-ed .mm-tasks,.mm-body .mm-tasks{list-style:none;padding-left:.2em}
.mm-ed li.mm-task input{margin:0 6px 0 0;vertical-align:-1px}
.mm-ed li.mm-task.on,.mm-body li.mm-task.on{color:var(--muted)}
.mm-h1{margin:0 0 4px;font-size:15px}
.mm-ed a,.mm-body a{color:#176b87;text-decoration:underline}
.mm-foot{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-top:4px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.mm-view{padding:10px 14px;border-bottom:1px solid var(--line)}
.mm-view-h{font-size:13px;font-weight:700;color:var(--muted);margin-bottom:4px}
.mm-body{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.mm-body .mm-gap{height:.6em}
.mm-box{display:inline-block;width:1.4em}
.g19-plan{margin:6px 0 0;border:1px solid var(--line);border-radius:var(--r-m,8px);background:#fff;max-height:30vh;overflow:auto}
.g19-plan .mm-view{border-bottom:0}
.g13-card .card-name{white-space:normal;overflow-wrap:anywhere}
.pg13.f-memo .pg13-b{overflow:hidden}
.memo13{display:flex;flex-direction:column;gap:12px;font-size:13px;line-height:1.55}
.m13-h{display:flex;gap:12px;align-items:baseline;border-bottom:1px solid #dbe3e7;padding-bottom:2px;margin-bottom:3px}.m13-h span{color:#526b76;font-size:12px}
.m13-t{white-space:pre-wrap;overflow-wrap:anywhere}
#overview:has(.g19-plan){flex-wrap:wrap}
.g19-plan{flex:1 1 100%;order:9}
.ex-row{gap:6px}
.ex-row .ex-list{gap:6px}
.ex-row .ex-chip,.ex-row .add-day{padding-left:9px;padding-right:9px;font-size:14px}


/* v20a: 使い方の窓・一覧・下のリンク */
.menu19-w{display:none!important}
.g20-btn{flex:none;min-height:36px;margin-left:-8px;padding:0 12px;border:1px solid var(--line,#d5dde2);border-radius:var(--r-m,8px);background:#fff;color:var(--teal,#176b87);font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.g20-btn:hover{background:#eef4f7}
html.g20-open,html.g20-open body{overflow:hidden}
.g20{position:fixed;inset:0;z-index:400;background:rgba(20,35,45,.45);display:flex;align-items:center;justify-content:center;overscroll-behavior:contain}
.g20-win{background:#fff;color:var(--ink,#20333e);width:min(640px,calc(100vw - 32px));height:80vh;border-radius:12px;box-shadow:0 12px 40px rgba(20,40,50,.3);display:flex;flex-direction:column;overflow:hidden}
.g20-top{display:flex;align-items:center;justify-content:space-between;padding:12px 8px 8px 20px;flex:none}
.g20-top h2{margin:0;font-size:20px;font-weight:800}
.g20-x{width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;color:var(--ink,#20333e);cursor:pointer;border-radius:8px}
.g20-x:hover{background:#eef4f7}
.g20-nav{flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 12px;border-bottom:1px solid var(--line,#d5dde2)}
.g20-nv{min-height:36px;padding:0 12px;border:0;border-radius:18px;background:#eef4f7;color:var(--teal,#176b87);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.g20-nv[aria-current="true"]{background:#dbe9ee;color:#0f5c76}
.g20-sc{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:8px 20px 28px;-webkit-overflow-scrolling:touch}
.g20-s{padding-top:16px}
.g20-s h3{margin:0 0 8px;font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px}
.g20-s h3 i{font-style:normal;width:26px;height:26px;border-radius:50%;background:#dbe9ee;color:#0f5c76;display:grid;place-items:center;font-size:14px}
.g20-s p{margin:0 0 10px;font-size:15px;line-height:1.75}
.g20-pic{margin:6px 0 12px;min-height:96px;border:1px dashed #b8c4cb;border-radius:8px;background:#eceff1;color:#6b7a84;font-size:13px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px}
.g20-sp{display:none}
@media(max-width:700px){
 .g20{align-items:flex-end;justify-content:stretch}
 .g20-win{width:100%;height:100%;border-radius:0;animation:g20up .22s ease-out}
 .g20-nav{flex-wrap:nowrap;overflow-x:auto;padding:0 12px 10px}
 .g20-nv{flex:none}
 .g20-top{padding-left:16px}
 .g20-sc{padding:8px 16px 28px}
 .g20-pc{display:none}.g20-sp{display:block}
 .g20-pic.g20-sp{display:flex}
 .g20-btn{margin-left:0;padding:0 8px;font-size:13px}
 .topband>.ls20-car{margin-left:-8px;order:0!important}
}
@keyframes g20up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.g20-win{animation:none}}
.ls20-car{flex:none;margin-left:-18px;width:32px;min-height:36px;border:0;background:none;color:var(--ink,#20333e);font-size:15px;cursor:pointer;border-radius:8px;padding:0}
.ls20-car:hover{background:#eef4f7}
.list15.ls20{width:min(420px,calc(100vw - 16px));max-height:min(70vh,560px);overflow-y:auto;padding:6px}
.ls20-rows{display:flex;flex-direction:column}
.ls20-r{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:0 2px;border-radius:8px}
.ls20-r[hidden]{display:none}
.ls20-i{display:flex;align-items:center;gap:8px;text-align:left;min-height:52px;padding:6px 8px;border:0;background:none;border-radius:8px;font:inherit;cursor:pointer;width:100%;min-width:0}
.ls20-i:hover,.ls20-i.on{background:#eef4f7}
.ls20-ck{flex:none;width:16px;color:var(--teal,#176b87);font-style:normal;font-weight:800}
.ls20-tx{display:flex;flex-direction:column;min-width:0;flex:1}
.ls20-tx b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.ls20-tx span{font-size:12px;color:var(--muted,#5b6b75);margin-top:2px}
.ls20-m{width:36px;height:36px;border:0;background:none;border-radius:8px;font-size:18px;color:var(--ink,#20333e);cursor:pointer;padding:0}
.ls20-m:hover{background:#eef4f7}
.ls20-mp{grid-column:1/-1;display:flex;gap:6px;padding:2px 8px 8px 32px;flex-wrap:wrap}
.ls20-mp[hidden]{display:none}
.ls20-mp button{min-height:36px;padding:0 12px;border:1px solid var(--line,#d5dde2);border-radius:8px;background:#fff;font:inherit;font-size:13px;cursor:pointer}
.ls20-mp button:hover{background:#eef4f7}
.ls20-in{width:100%;min-height:32px;font:inherit;font-size:15px;font-weight:700;border:1px solid var(--teal,#176b87);border-radius:6px;padding:0 6px;box-sizing:border-box}
.ls20-f{width:100%;box-sizing:border-box;min-height:40px;margin:0 0 6px;padding:0 10px;border:1px solid var(--line,#d5dde2);border-radius:8px;font:inherit;font-size:15px}
.list15.ls20 .ls-new{margin-top:4px;border-top:1px solid var(--line,#d5dde2);border-radius:0 0 8px 8px;min-height:44px;width:100%;text-align:left;padding:0 10px;background:none;border-left:0;border-right:0;border-bottom:0;font:inherit;font-weight:700;color:var(--teal,#176b87);cursor:pointer}
@media(max-width:700px){
 .topband .project-title{flex:0 1 auto;width:auto;max-width:calc(100% - 124px - 36px)}
 .ls20-car{order:0}
}
.fb20{margin:18px 4px 12px;text-align:center;font-size:12px}
.fb20 a{color:#8a979f;text-decoration:none}
.fb20 a:hover{text-decoration:underline}
.rec20,.rec20[hidden]{display:none!important}
@media(min-width:701px){.topband{column-gap:12px}}
#pop13 [data-p13="file:image"]:not([aria-pressed="true"]){display:none!important}
/* v20sp（10/21）: スマホで作る最小。幅 700 以下で、body.v20sp（受け手・見るだけでないとき）の間だけ効く */
#sp-head,#sp-back,#sp-add{display:none}
@media(max-width:700px){
 body.v20sp{--spmax:min(64dvh,calc(var(--spvh,100dvh) - 16px))}
 body.v20sp .app{padding-bottom:76px}
 /* 下から出る板（右の欄をそのまま下に固定して使う） */
 body.v20sp .side{display:block!important;position:fixed;left:0;right:0;bottom:var(--spkb,0px);top:auto;width:auto;z-index:120;max-height:var(--spmax);margin:0;padding:0;background:#fff;border:0;border-top:2px solid var(--teal);border-radius:16px 16px 0 0;box-shadow:0 -6px 24px rgba(32,51,62,.24);overflow:hidden;transform:translateY(110%);visibility:hidden;transition:transform .22s ease,visibility 0s .22s}
 body.v20sp.sp-open .side{transform:none;visibility:visible;transition:transform .22s ease,visibility 0s}
 body.v20sp .side .right-scroll{max-height:calc(var(--spmax) - 50px);overflow-y:auto;overscroll-behavior:contain;padding:6px 12px calc(20px + env(safe-area-inset-bottom));height:auto}
 body.v20sp.sp-open #hand>[data-card]:not([data-card="sel"]){display:none}
 body.v20sp.sp-open #hand [data-card="sel"] .card-body{display:block!important}
 body.v20sp.sp-open #hand [data-card="sel"] .card-tg{display:block;width:100%;padding:0;text-align:left;pointer-events:none}
 body.v20sp.sp-open #hand [data-card="sel"] .card-tg .chev{display:none}
 body.v20sp.sp-open #hand [data-card="sel"] .card-h{flex-wrap:wrap}
 body.v20sp.sp-open #hand .card{margin:0;border:0;box-shadow:none}
 body.v20sp #sp-head{display:flex;align-items:center;justify-content:space-between;position:relative;height:50px;padding:0 4px 0 16px;border-bottom:1px solid var(--line);touch-action:none;background:#fff}
 body.v20sp #sp-head b{font-size:16px}
 body.v20sp #sp-head .sp-grab{position:absolute;left:50%;top:6px;width:40px;height:4px;border-radius:2px;background:#c9d3d9;transform:translateX(-50%)}
 body.v20sp #sp-x{width:44px;height:44px;border:0;background:transparent;font-size:26px;line-height:1;color:var(--muted);cursor:pointer}
 body.v20sp.sp-open #sp-back{display:block;position:fixed;inset:0;z-index:119;background:rgba(32,51,62,.28)}
 /* ＋ 予定を足す（画面の下に固定） */
 body.v20sp:not(.sp-open) #sp-add{display:flex;align-items:center;justify-content:center;position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:100;min-height:48px;border:0;border-radius:24px;background:var(--teal);color:#fff;font-size:16px;font-weight:700;box-shadow:0 4px 14px rgba(32,51,62,.3);cursor:pointer}
 body.v20sp:not(.sp-open) .n13,body.v20sp:not(.sp-open) #undo-toast{bottom:76px}
 body.v20sp.sp-open .n13,body.v20sp.sp-open #undo-toast{display:none!important}
 /* 入力は 16px 以上（iPhone が勝手に拡大しない）・押す所は 44px */
 body.v20sp .side input,body.v20sp .side select,body.v20sp .side textarea,body.v20sp .side .mm-ed{font-size:16px}
 body.v20sp .side .step-b{min-width:44px;min-height:44px}
 body.v20sp .side .item{min-height:44px}
 body.v20sp .side .act-btn,body.v20sp .side [data-act="delete-box"],body.v20sp .side [data-act="period-edit"],body.v20sp .side [data-act="range-start"]{min-height:44px}
 /* 小窓は板より手前 */
 body.v20sp .datepop,body.v20sp #context{z-index:130}
 body.v20sp #context.sp-ctx:not([hidden]){display:block!important;min-width:200px}
 body.v20sp #context.sp-ctx button{min-height:44px;font-size:15px;white-space:nowrap}
 body.v20sp .mobile-note .sp-hint{font-weight:600;color:var(--muted)}
 body.v20sp .pp .sp-nshare{display:block;width:100%;margin:8px 0 0;min-height:44px}
}
/* v20pdf */
#pop13 .x20n{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.5}
/* v20int: スマホでカレンダーの巻物を「＋ 予定を足す」の上まで伸ばす（右の欄の分の空きが残っていた） */
body.v20sp main.body{height:calc(100dvh - 57px - 76px)!important;max-height:none!important}
body.v20sp main.body>.center{height:100%!important}
body.v20sp #fb20sp{margin:20px 4px 16px}
/* v20ui（10/21）: 選んだ予定のカード（メモの道具の帯・案内の 1 行・長引いたらの行）。NOV20UI=1 で外せる */
/* メモ: 見出しは 1 行、その下に「道具の帯＋入力欄」が 1 つの枠 */
.mm19{padding:8px 0 10px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.mm19 .mm-h{display:block;margin:0 0 6px}
.mm19 .mm-h b{font-size:14px}
.mm19 .mm-frame{border:1px solid var(--line);border-radius:var(--r-m,8px);background:#fff;overflow:hidden}
.mm19 .mm-frame:focus-within{border-color:var(--teal,#176b87)}
.mm19 .mm-tb{display:flex;align-items:center;flex-wrap:nowrap;gap:2px;height:32px;padding:0 3px;background:#f5f8f9;border-bottom:1px solid var(--line)}
.mm19 .mm-tb .mm-b{position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:28px;height:28px;min-width:0;min-height:0;padding:0;margin:0;border:0;border-radius:6px;background:transparent;color:var(--ink);font-size:13px;font-weight:700;line-height:1;cursor:pointer}
.mm19 .mm-tb .mm-b:hover{background:rgba(23,107,135,.10)}
.mm19 .mm-tb .mm-b:active{background:rgba(23,107,135,.20)}
.mm19 .mm-tb .mm-b:focus-visible{outline:2px solid var(--teal,#176b87);outline-offset:-2px}
.mm19 .mm-tb .mm-b svg{width:16px;height:16px;display:block}
.mm19 .mm-tb .mm-b-strike span{text-decoration:line-through}
/* スマホ: 見えるのは 28px 角のまま、押せる範囲（ボタンの箱）は 44px 角。上下にはみ出して帯の中央に置く */
body.v20sp .mm19 .mm-tb{gap:0}
body.v20sp .mm19 .mm-tb .mm-b{width:44px;height:44px;padding:8px;margin:-6px 0;background-clip:content-box}
.mm19 .mm-lk{display:flex;gap:6px;margin:0;padding:6px;border-bottom:1px solid var(--line);background:#fff}
.mm19 .mm-lk[hidden]{display:none}
.mm19 .mm-edw{position:relative}
.mm19 .mm-ed{border:0;border-radius:0;padding:8px 10px;min-height:64px}
.mm19 .mm-ed:focus{border:0}
.mm19 .mm-ed.is-empty::before{left:10px;top:8px}
/* 案内は 1 行の小さな灰色。残りの字数は 500 字を切ったときだけ右に */
.mm19 .mm-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2px 8px;margin-top:6px;font-size:12px;line-height:16px;color:var(--muted)}
.mm19 .mm-foot small{font-size:12px;line-height:16px;color:inherit}
.mm19 .mm-foot .mm-cnt{margin-left:auto;font-size:12px;line-height:16px;font-variant-numeric:tabular-nums}
.mm19 .mm-foot .mm-cnt[hidden]{display:none}
/* 名前の残り字数は 20 字を切ったときだけ（JS が hidden を切り替える） */
.card-h19 .nm19-cnt[hidden]{display:none}
/* 長引いたら: 右端を選ぶ欄・日数の欄とそろえ、› は ▾ と同じ大きさ・色の矢印、行全体が押せる */
.item-rs20{position:relative;cursor:pointer;border-radius:var(--r-m,8px)}
.item-rs20:hover{background:var(--hv,#f3f6f8)}
.item-rs20:focus-within{box-shadow:inset 0 0 0 2px var(--teal,#176b87)}
.item-rs20 .item-value button.rs20{position:static;display:inline-flex;align-items:center;gap:8px;margin:0;padding:0 12px 0 8px;background:transparent;cursor:pointer}
.item-rs20 .item-value button.rs20:hover{text-decoration:none}
.item-rs20 .item-value button.rs20::after{content:'';position:absolute;left:0;right:0;top:0;bottom:0}
.item-rs20 .item-value button.rs20:focus-visible{outline:0}
.rs20-chv{width:12px;height:8px;flex:none;display:block}
body.v20sp .mm19{margin-bottom:6px}
/* v20legal（10/22）: 法の 2 行。NOV20LEGAL=1 で外せる */
.mm19 .mm-foot small{flex:1 1 100%;min-width:0;font-size:11.5px;letter-spacing:-.01em}
.mm19 .mm-foot .mm-cnt{margin-left:auto}
.pp-at .lg20{margin:2px 0 0;font-size:14px;line-height:20px;font-weight:400;color:var(--muted)}
.pp-at .lg20 a{color:#176b87;text-decoration:underline}


.ex-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;align-items:flex-start}
.ex-list .add-day,.prow-body .ex-list .add-day{margin:0}
.dp-note{font-size:13px;color:var(--muted);padding:6px 4px 0;line-height:1.5}
