/* Budget Submission V2 - all views (manager, editor, previous-budgets picker,
   attach-proposals dialog, history/planning dialog). Loaded once by
   v_manage_budget_submissions2.php; every other v2 view renders into the same page.
   Body text = 16px; dense data tables = 14px. Vertical spacing kept tight. */

/* ---- manager bar (v_manage_budget_submissions2) ---- */
.v2top{display:flex;margin:10px;flex-wrap:wrap;place-content:start;}
.v2top-btn{padding:6px 10px;margin-left:10px;margin-top:6px;background:#bbb;color:#000;font-weight:bold;width:213px;}
.v2top-action{margin-left:20px;width:213px;margin-top:6px;place-items:center;place-content:center;display:none;background:var(--mbgmain);}

/* dialogs shared by Generate / Copy To New */
.v2dlg-body{margin:8px;}
.v2dlg-row{display:flex;place-items:center;}
.v2dlg-label{padding:6px 10px;width:120px;}
.v2dlg-input{width:400px;}
.v2dlg-input-med{width:300px;}
.v2dlg-version{border:0px;background:transparent;}
.v2dlg-actions{display:flex;place-items:center;place-content:center;}
.v2dlg-save{width:200px;padding:8px;margin-top:8px;border-radius:5px;}
.v2pdfopt-label{padding:10px;text-align:center;}
.v2dlg-submit{background:darkgreen;color:#fff;}

/* ---- submission editor (v_submission2) ---- */
.v2sheet{width:100%;font-family:inherit;}
.v2card{background:#fff;border:1px solid #e2e6ea;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,0.08);padding:10px 16px;margin-bottom:8px;}
.v2card-title{display:flex;align-items:center;justify-content:space-between;min-height:22px;background:var(--mbgmain);color:#fff;font-weight:bold;font-size:16px;padding:6px 16px;margin:-10px -16px 10px -16px;border-radius:0px 0px 0 0;}
.v2hdr{background:#3a3f45;color:#fff;padding:8px 12px;display:flex;place-items:center;justify-content:space-between;}
.v2hdr .sid{color:#9aa0a6;font-size:12px;font-family:monospace;}
.v2pill-bar{text-align:center;padding:8px 0;background:#f0f3f6;border-bottom:1px solid #e2e6ea;}
.v2pill{display:inline-flex;border:1px solid var(--mbgmain);border-radius:20px;overflow:hidden;}
.v2pill span{padding:4px 14px;cursor:pointer;font-size:20px;color:var(--mbgmain);background:#fff;}
.v2pill span.on{background:var(--mbgmain);color:#fff;}
.v2pill span:not(:last-child){border-right:1px solid var(--mbgmain);}
.v2pill-hint{color:#888;font-size:16px;margin-top:4px;}
.v2label{font-weight:bold;}
.v2num{width:130px;text-align:right;padding:3px 4px;font-size:16px;}
.v2annual{float:right;font-weight:bold;font-size:16px;}
.v2svc-label{display:inline-block;width:180px;}
.v2muted{color:#555;font-size:16px;}
.v2muted-strong{color:#555;font-size:16px;font-weight:bold;margin-bottom:4px;text-decoration:underline;}
.v2extras-head{display:flex;align-items:baseline;margin-bottom:6px;}
.v2warn{color:#a15c00;font-size:14px;font-weight:normal;margin-left:auto;padding-left:20px;text-align:right;}
/* everything under the "Included in..." header is indented */
.v2extras-block > :not(.v2extras-head){margin-left:20px;}
/* top offset matches the inputs' border+padding so the value lines up with input text */
.v2static-val{padding:4px 0 0;font-weight:bold;font-size:16px;}
.v2maint-row{margin-top:6px;display:flex;flex-wrap:wrap;gap:26px;align-items:flex-start;}
.v2extras-block{margin-top:10px;border-top:1px solid #eef1f4;padding-top:8px;}
.v2extras-group{margin-bottom:8px;}
.v2none{color:#999;font-size:16px;}
.v2notes-ta{width:100%;height:48px;padding:6px 0;font-size:16px;}
.v2saved-band{display:none;}
.v2saved-flag{opacity:0;}

/* contact picker */
.v2cpick-wrap{position:relative;display:inline-block;margin-top:2px;}
.v2cpick{border:1px solid #c8cdd5;border-radius:4px;padding:6px 12px;cursor:pointer;background:#fff;user-select:none;box-sizing:border-box;font-size:16px;}
.v2cpick-caret{float:right;margin-left:10px;}
.v2cpick-panel{display:none;position:absolute;z-index:50;width:360px;max-height:260px;overflow:auto;border:1px solid #c8cdd5;border-radius:4px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,0.15);}
.v2cpick-item{padding:6px 12px;border-bottom:1px solid #eee;cursor:pointer;font-size:16px;}
.v2cpick-item:hover{background:#eef4e8;}
.v2cpick-name{font-weight:bold;}
.v2cpick-role{font-size:14px;color:#555;}
.v2cpick-dm{color:#1a7a3a;font-weight:bold;}
.v2cpick-empty{padding:6px 8px;color:#999;font-size:16px;}
/* contact row: picker on the left, editable "Dear <name>" preview on the right */
.v2contact-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.v2dear-wrap{display:flex;align-items:center;gap:8px;}
.v2dear-prefix{font-size:16px;color:#333;}
.v2dear-input{border:1px solid #c8cdd5;border-radius:4px;padding:6px 12px;font-size:16px;width:200px;box-sizing:border-box;}
.v2dear-hint{font-size:12px;color:#888;}

.v2hist{background:#b8fabf;border:0;padding:5px 10px;border-radius:4px;cursor:pointer;font-weight:normal;font-size:12px;}
/* out-specify jQuery UI's ".ui-widget button" font reset */
.ui-widget button.v2hist,.v2card-title .v2hist{font-size:12px;font-weight:normal;}
.v2hist-gap{margin-left:8px;}
.v2title-group{display:flex;align-items:center;gap:12px;}
.v2completed{color:#555;margin-left:14px;}
.v2extra{display:inline-block;width:188px;padding:2px 0;font-size:14px;margin-left:20px;}

/* 75/25 flex: left cards column (contact, maintenance, ancillary, notes) +
   right column (attach card). Columns stretch to equal height; the attach card
   absorbs the leftover so its bottom lines up with the notes card, and the
   picked list flexes/scrolls inside it. */
.v2flex{display:flex;gap:10px;}
.v2left{flex:0 0 75%;min-width:0;}
.v2right{flex:1 1 0;min-width:0;display:flex;flex-direction:column;}
.v2card-attach{flex:1 1 auto;display:flex;flex-direction:column;}

.v2attach-desc{color:#333;font-size:16px;line-height:1.5;margin-bottom:10px;}
.v2attach-btn{display:block;float:none;width:80%;margin:0 auto 12px;background:var(--mbgmain);color:#fff;padding:8px 0;border-radius:5px;border:0;cursor:pointer;}
.v2attach-label{color:#555;font-size:16px;margin-bottom:5px;}
/* picked list fills whatever space the stretched attach card has, scrolls beyond it */
.v2card-attach{min-height:0;}
.v2attach-list{flex:1 1 auto;min-height:0;max-height:300px;overflow-y:auto;}
.v2ap-picked-row{padding:5px 2px;border-bottom:1px solid #eee;font-size:16px;}
.v2ap-picked-row:last-child{border-bottom:0;}
.v2ap-picked-type{color:#555;}
.v2ap-none{color:#999;font-size:16px;padding:4px 2px;}

/* ---- previous budgets picker (v_previous_budgets2) ---- */
.v2prev-wrap{clear:both;overflow-y:auto;flex-wrap:wrap;width:600px;height:400px;}
.v2prev-head{padding:4px 5px;background:#ddd;margin-bottom:4px;}
.v2prev-head-submitted{margin-top:12px;padding:4px 5px;background:#6d99ca55;margin-bottom:4px;}
.v2prev-row{display:flex;}
.v2-submission-row{flex-grow:1;background:transparent;text-decoration:underline;color:#000;padding:6px 10px;width:400px;margin-bottom:2px;display:flex;cursor:pointer;}
.v2-submission-version{text-align:left;width:100px;}
.v2-submission-trash{display:flex;place-items:center;padding:0px 10px;margin-bottom:2px;margin-left:10px;background:transparent;cursor:pointer;margin-right:5px;}
.v2-submission-date{font-size:14px;cursor:default;}
.v2-trash-img{width:16px;}

/* ---- attach proposals dialog (v_attach_proposals2) ---- */
.v2ap-wrap{display:flex;gap:16px;}
.v2ap-col{flex:1 1 0;min-width:0;border:1px solid #dde2e6;border-radius:6px;padding:8px 10px;overflow:auto;max-height:470px;box-sizing:border-box;}
.v2ap-col h4{margin:0 0 6px 0;color:#3a3f45;}
.v2ap-list{width:100%;border-collapse:collapse;font-size:14px;}
.v2ap-list th{background:#eef4e8;padding:4px 5px;text-align:left;border-bottom:1px solid #cdd6c4;}
.v2ap-list td{padding:4px 5px;border-bottom:1px solid #eee;vertical-align:top;}
.v2ap-hint{font-size:16px;color:#555;margin-bottom:6px;}
.v2ap-empty{color:#999;}

/* clickable job numbers + proposal items quick-view dialog */
.v2jobnum{color:var(--mbgmain);text-decoration:underline;cursor:pointer;white-space:nowrap;}
.v2pi-head{display:flex;align-items:baseline;gap:12px;margin-bottom:10px;}
.v2pi-num{font-weight:bold;font-size:18px;color:var(--mbgmain);}
.v2pi-name{font-size:16px;font-weight:bold;}
.v2pi-date{font-size:14px;color:#555;margin-left:auto;}
.v2pi-section td{background:#e8e8e8;font-weight:bold;}

/* dialog footer button (attach + history) */
.v2done-bar{text-align:right;margin-top:8px;}
.v2done-btn{background:#1a7a3a;color:#fff;border:0;border-radius:10px;padding:7px 26px;font-weight:bold;cursor:pointer;}

/* ---- history / planning dialog (v_budget_v2_history) ---- */
.v2h-wrap{display:flex;gap:16px;}
.v2h-col{border:1px solid #dde2e6;border-radius:6px;padding:8px 10px;overflow:auto;max-height:470px;box-sizing:border-box;}
.v2h-col h4{margin:0 0 6px 0;color:#3a3f45;}
.v2h-col-hist{flex:2 1 0;min-width:0;}
.v2h-col-comp{flex:1 1 0;min-width:0;}
.v2h-col-plan{flex:0 0 50%;}
.v2h-subtle{font-weight:normal;color:#888;font-size:12px;}
.v2h-comp-label{font-size:16px;color:#555;}
.v2h-comp-val{font-size:22px;font-weight:bold;margin-top:8px;}
.v2h-list{width:100%;border-collapse:collapse;font-size:14px;}
.v2h-list th{background:#eef4e8;padding:4px 5px;text-align:left;border-bottom:1px solid #cdd6c4;}
.v2h-list td{padding:4px 5px;border-bottom:1px solid #eee;vertical-align:top;}
.v2h-list .r{text-align:right;white-space:nowrap;}
.v2h-list tr.tot td{border-top:2px solid #ccc;border-bottom:0;font-weight:bold;padding-top:6px;}
.v2h-empty{color:#999;}
.v2h-or{text-align:center;font-weight:bold;font-size:20px;color:#888;margin:8px 0;}
.v2h-note-label{font-size:16px;color:#555;margin:8px 0 3px;}
.v2h-note-ta{width:100%;height:60px;padding:4px 6px;box-sizing:border-box;font-size:16px;}
.v2plan{width:100%;border-collapse:collapse;font-size:14px;}
.v2plan th{background:#eef4e8;padding:4px 5px;text-align:left;border:1px solid #cdd6c4;}
.v2plan td{border:1px solid #e0e0e0;padding:2px;}
.v2plan input,.v2plan textarea{width:100%;border:0;padding:3px 4px;font-size:14px;box-sizing:border-box;}
.v2plan .est-inner{display:flex;align-items:center;}
.v2plan .est-inner .dollar{color:#555;padding-left:4px;}
.v2plan .est-inner .p-est,.v2plan .est-inner .tot-val{flex:1;text-align:right !important;}
.v2plan tr.tot td{background:#eef4e8;font-weight:bold;}
.v2plan th.w-wa{width:24%;}
.v2plan th.w-est,.v2plan th.w-tm{width:20%;}
.v2plan td.tot-label{text-align:right;}

/* timing picker popup */
#v2tmPicker{display:none;position:absolute;z-index:10002;background:#fff;border:1px solid #c8cdd5;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,0.25);padding:8px;}
#v2tmPicker .tm-cols{display:flex;gap:10px;}
#v2tmPicker .tm-col{min-width:90px;}
#v2tmPicker .tm-head{font-weight:bold;font-size:12px;color:#3a3f45;border-bottom:1px solid #cdd6c4;padding:2px 4px 4px;margin-bottom:3px;white-space:nowrap;}
#v2tmPicker .tm-item{font-size:14px;padding:2px 6px;cursor:pointer;border-radius:3px;white-space:nowrap;}
#v2tmPicker .tm-item:hover{background:#eef4e8;}
