/* GRAFT allocation: bounded dialog, one scrolling surface, readable native controls. */
.allocation-dialog[open]{display:flex;flex-direction:column;width:min(860px,calc(100vw - 40px));max-width:calc(100vw - 40px);height:min(900px,calc(100vh - 40px));height:min(900px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);padding:0;overflow:hidden;border-radius:13px;background:#fff}
.allocation-dialog #dialogbody,.allocation-layout,.allocation-dialog #allocation-form{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1;margin:0;padding:0;overflow:hidden}.allocation-dialog .close{right:15px;top:14px;z-index:4;width:36px;height:36px;min-height:36px;background:#f5f3ee}.allocation-header{padding:27px 32px 20px;flex-shrink:0;border-bottom:1px solid #e7e2d8}.allocation-header .eyebrow{font-size:10px;letter-spacing:1.3px}.allocation-header h2{font-size:26px;font-weight:500;letter-spacing:-.7px;padding-right:32px;margin:8px 0 0}.allocation-header p{font-size:13px;color:#746d61;line-height:1.6;margin-top:7px;max-width:600px}
.allocation-budget-band{padding:16px 32px 13px;background:#f4f2ec;border-bottom:1px solid #e4dfd4;flex-shrink:0}.allocation-balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.allocation-balance-grid>div{border-right:1px solid #dcd6c9;padding-right:16px;min-width:0}.allocation-balance-grid>div:last-child{border:0;padding:0}.allocation-balance-grid span{display:block;font-size:11px;color:#70695e}.allocation-balance-grid strong{display:block;font-weight:500;font-size:28px;letter-spacing:-.8px;line-height:1.2;margin-top:5px}.allocation-balance-grid strong small{font-size:13px;color:#81786b;font-weight:400;letter-spacing:0}.allocation-balance-grid .balance-warning strong{color:#986431}.allocation-reserve-line{font-size:11px;color:#7d7568;line-height:1.5;margin:10px 0 0}.allocation-reserve-line>span{padding:0 7px;color:#b3aa99}
.allocation-scroll{flex:1;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:22px 32px 26px;scroll-padding:18px}.allocation-plan-controls{margin:0 0 23px;padding-bottom:19px;border-bottom:1px solid #e8e2d7}.allocation-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.allocation-dialog .field{margin:0;gap:7px;min-width:0}.allocation-dialog .field label{font-size:12px;line-height:1.5;color:#625b50}.allocation-dialog input,.allocation-dialog select{display:block;box-sizing:border-box;width:100%;inline-size:100%;min-width:0;min-inline-size:0;max-width:100%;max-inline-size:100%;height:46px;min-height:46px;border:1px solid #d9d3c7;border-radius:7px;padding:10px 12px;background:#fff;color:#38342e;font-size:14px;line-height:1.4}.allocation-dialog input[type=date]{-webkit-appearance:none;appearance:none;text-align:left;overflow:hidden}.allocation-dialog input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}.allocation-dialog input[type=date]::-webkit-datetime-edit{padding:0;max-width:100%}.allocation-dialog .field small{font-size:11px;color:#8a8173;line-height:1.5}.allocation-hour-control{position:relative;min-width:0}.allocation-hour-control input{padding-right:32px;font-variant-numeric:tabular-nums}.allocation-hour-control>span{position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none;color:#968b7b;font-size:12px}.allocation-tools{margin:16px 0 0;gap:9px;flex-wrap:wrap}.allocation-tools button{min-height:39px;font-size:12px;padding:8px 12px}.allocation-assumptions{margin-top:13px;color:#83796a;font-size:11px}.allocation-assumptions summary{cursor:pointer;min-height:30px;align-content:center}.allocation-assumptions p{line-height:1.75;font-size:12px;max-width:650px;padding:7px 0 2px}
#allocation-rows{display:grid;gap:16px}.allocation-editor-row{border:1px solid #ded8cc;border-radius:10px;padding:18px 20px;background:#fcfbf8;min-width:0;overflow:hidden}.allocation-row-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;min-width:0}.allocation-number{font-size:9px;letter-spacing:1.35px;color:#8c8272}.allocation-dialog .allocation-remove{width:34px;height:34px;min-height:34px;padding:8px;border-color:transparent;background:transparent;color:#8b8172;flex-shrink:0}.allocation-remove .icon{width:15px;height:15px}.allocation-remove:hover{background:#eae5db!important}.allocation-card-main{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:16px}.allocation-work{margin-top:13px!important}.allocation-schedule{border-top:1px solid #e5dfd3;margin-top:17px;padding-top:4px}.allocation-schedule>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;min-height:62px;padding:9px 0}.allocation-schedule>summary::-webkit-details-marker{display:none}.allocation-schedule-label{display:block;color:#928675;font-size:10px;letter-spacing:.3px;margin-bottom:4px}.allocation-schedule strong{display:block;font-size:13px;font-weight:500;color:#5f574b;line-height:1.5}.allocation-edit-dates{display:flex;gap:7px;align-items:center;font-size:11px;color:#837866;white-space:nowrap}.allocation-edit-dates .icon{width:14px;height:14px;transition:transform .15s}.allocation-schedule[open] .allocation-edit-dates .icon{transform:rotate(180deg)}.allocation-date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:10px 0 9px;min-width:0}.allocation-fit{font-size:10px;color:#8b8172;margin:1px 0 0;line-height:1.5}.allocation-fit-warning{color:#996630}.allocation-empty{padding:24px 20px;border:1px dashed #d6cebf;border-radius:8px;color:#7e7364;font-size:13px}.allocation-empty p{font-size:12px;line-height:1.7}
.allocation-finish{padding:18px 0 14px;display:grid;gap:5px;border-top:1px solid #e7e0d4;margin-top:22px}.allocation-finish>span{font-size:10px;color:#8c8171}.allocation-finish strong{font-size:15px;font-weight:500}.allocation-finish small{font-size:11px;color:#8c8171}.allocation-dialog .callout{font-size:12px;padding:13px 15px;line-height:1.7;margin:16px 0}.allocation-dialog .callout ul{padding-left:17px;margin:6px 0 0}.allocation-dialog .callout li{padding:3px 0}.allocation-dialog .model-details{font-size:11px;margin-top:0;padding-top:10px}.allocation-dialog .model-details summary{min-height:32px;cursor:pointer}.allocation-dialog .model-details p{font-size:11px;line-height:1.7}.allocation-dialog .checkbox-line{font-size:12px;line-height:1.6;padding:14px 0 2px}.allocation-dialog input[type=checkbox]{width:18px;inline-size:18px;height:18px;min-height:18px;padding:0;flex-shrink:0;margin-top:2px}
.allocation-footer{flex-shrink:0;border-top:1px solid #e2dbce;background:#fff;padding:16px 32px 19px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 -5px 15px #38332a04}.allocation-footer>p{font-size:11px;color:#8a806f;line-height:1.5;margin:0;max-width:270px}.allocation-footer .actions{gap:8px;flex-shrink:0}.allocation-footer button{min-height:43px;font-size:12px}.allocation-footer #allocation-confirm{text-align:center}.allocation-budget{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:21px 0}.allocation-budget>div{border:1px solid #ded9cf;border-radius:7px;padding:16px 14px;min-width:0;background:#faf9f5}.allocation-budget span{font-size:11px;color:#71695e;display:block}.allocation-budget strong{display:block;font-size:25px;font-weight:500;margin-top:6px}.allocation-budget small{display:block;font-size:11px;color:#756d60;margin-top:6px}.allocation-task-note{font-size:11px;color:#70685d;border-left:2px solid #c9c3b7;padding-left:12px;margin:12px 0}
@media(max-width:650px){.allocation-dialog[open]{width:calc(100vw - 24px);max-width:calc(100vw - 24px);height:calc(100vh - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:11px}.allocation-dialog .close{right:11px;top:11px;width:36px;height:36px}.allocation-header{padding:22px 20px 16px}.allocation-header .eyebrow{font-size:8px;letter-spacing:1.15px}.allocation-header h2{font-size:23px;padding-right:36px;margin-top:8px}.allocation-header p{font-size:12px;line-height:1.6;margin-top:6px;max-width:290px}.allocation-budget-band{padding:14px 20px 12px}.allocation-balance-grid{gap:10px}.allocation-balance-grid>div{padding-right:10px}.allocation-balance-grid span{font-size:10px}.allocation-balance-grid strong{font-size:25px}.allocation-balance-grid strong small{font-size:12px}.allocation-reserve-line{font-size:10px;line-height:1.5;margin-top:9px}.allocation-reserve-line>span{padding:0 4px}.allocation-scroll{padding:18px 16px 24px}.allocation-controls{grid-template-columns:minmax(0,1fr);gap:15px}.allocation-dialog input,.allocation-dialog select{font-size:16px;height:48px;min-height:48px;padding:10px 12px}.allocation-dialog .field label{font-size:12px}.allocation-dialog .field small{font-size:11px}.allocation-tools{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px;margin-top:16px}.allocation-tools button{min-height:42px;font-size:11px;padding:8px 9px}.allocation-assumptions{font-size:11px;margin-top:12px}.allocation-assumptions summary{min-height:34px}.allocation-editor-row{padding:15px 14px;border-radius:9px}.allocation-row-title{margin-bottom:11px;min-height:31px}.allocation-number{font-size:8px;letter-spacing:1.1px}.allocation-dialog .allocation-remove{width:38px;height:38px;min-height:38px;padding:10px;margin-right:-5px}.allocation-card-main{grid-template-columns:minmax(0,1fr) 92px;gap:12px}.allocation-work{margin-top:14px!important}.allocation-schedule{margin-top:16px}.allocation-schedule>summary{min-height:64px;gap:10px}.allocation-schedule strong{font-size:12px}.allocation-edit-dates{font-size:10px;gap:3px}.allocation-schedule-label{font-size:9px}.allocation-date-fields{grid-template-columns:minmax(0,1fr);gap:13px;padding-bottom:12px}.allocation-fit{font-size:10px}.allocation-footer{padding:12px 16px 15px;display:block}.allocation-footer>p{font-size:10px;max-width:none;margin:0 0 9px}.allocation-footer .actions{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:8px}.allocation-footer button{font-size:12px;min-height:44px;padding:9px 10px}.allocation-footer #allocation-confirm{gap:8px;justify-content:center}.allocation-budget{gap:6px}.allocation-budget>div{padding:12px 9px}.allocation-budget strong{font-size:21px}.allocation-budget span,.allocation-budget small{font-size:10px}}
@media(max-width:350px){.allocation-header{padding-left:16px;padding-right:16px}.allocation-budget-band{padding-left:16px;padding-right:16px}.allocation-scroll{padding-left:12px;padding-right:12px}.allocation-card-main{grid-template-columns:minmax(0,1fr) 80px;gap:9px}.allocation-schedule>summary{align-items:flex-start;gap:8px}.allocation-edit-dates{padding-top:18px}.allocation-balance-grid span{font-size:9px}.allocation-balance-grid strong{font-size:23px}.allocation-footer .guide-next-tag{font-size:8px;padding-right:6px}.allocation-footer .actions{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}}
@media(max-height:600px){.allocation-header{padding-top:15px;padding-bottom:12px}.allocation-header p{display:none}.allocation-header h2{font-size:22px}.allocation-budget-band{padding-top:10px;padding-bottom:9px}.allocation-balance-grid strong{font-size:23px}.allocation-reserve-line{font-size:10px;margin-top:6px}.allocation-footer{padding-top:10px;padding-bottom:11px}.allocation-footer>p{display:none}.allocation-scroll{padding-top:16px}}@media(pointer:coarse){.allocation-dialog input,.allocation-dialog select{font-size:16px}}
