/* A common grid lets every card move between the original columns. */
.layout.dashboard-layout{display:grid;grid-template-columns:repeat(var(--layout-columns,26),minmax(0,1fr));grid-template-rows:none;grid-template-areas:none;grid-auto-rows:10px;gap:10px;align-items:stretch}
.dashboard-layout .main-grid,.dashboard-layout .left-rail{display:contents}
.layout.dashboard-layout .layout-module{position:relative;grid-area:auto;height:auto;min-height:0;min-width:0;max-width:100%;margin:0;overflow:hidden;container-type:inline-size}
.dashboard-layout .side-panel{padding:0;display:block;overflow:hidden}
.dashboard-layout .side-panel>.widget{height:100%;min-height:0}
.dashboard-layout .side-panel .item-list{flex:1;min-height:0;overflow-y:auto}
.dashboard-layout .photo-module>.photo-card{width:100%;height:100%;display:grid}
.dashboard-layout .module-card .card-preview{min-height:0;overflow:auto}
.dashboard-layout .calendar-days{height:100%;grid-template-rows:24px repeat(6,minmax(38px,1fr))}
.dashboard-layout .travel-section{display:flex;flex-direction:column}
.dashboard-layout .travel-layout{flex:1;min-height:0;overflow:auto;align-items:stretch;grid-template-columns:minmax(90px,.48fr) minmax(300px,.9fr) minmax(140px,.54fr) minmax(220px,1.45fr) minmax(150px,.65fr)}
.dashboard-layout .travel-layout> *{height:100%;min-height:195px;min-width:0}
.dashboard-layout .travel-notes textarea{height:calc(100% - 28px)}
.dashboard-layout .reference-head{flex-wrap:wrap;flex-shrink:0}
.dashboard-layout .card-titles{min-width:90px}
.dashboard-layout .widget-head{flex-shrink:0}
.dashboard-layout .widget-head h3{min-width:0}
.layout-controls,.layout-resize{display:none}
.layout-editing .layout-module{outline:1px dashed #9673ad;outline-offset:-1px;padding-top:42px}
.layout-editing .photo-module{padding-top:0}
.layout-editing .side-panel{padding-top:0}
.layout-editing .side-panel>.widget{padding-top:42px}
.layout-editing .layout-controls{display:flex;position:absolute;top:5px;left:8px;z-index:4}
.layout-drag{height:28px;max-width:100%;padding:3px 9px;border:1px solid #d7c8e1;border-radius:7px;background:#f6effa;color:#75518f;font-size:12px;cursor:grab;touch-action:none;user-select:none}
.layout-drag:active{cursor:grabbing}
.layout-editing .layout-resize{display:grid;place-items:center;position:absolute;right:2px;bottom:2px;z-index:5;width:30px;height:30px;border:0;border-radius:8px 0 12px 0;background:#eee2f5;color:#795395;font-size:19px;cursor:nwse-resize;touch-action:none;user-select:none}
.layout-module.layout-active{z-index:10;outline:2px solid #835ca0;box-shadow:0 12px 36px #50366440;transition:none}
.layout-drag:focus-visible,.layout-resize:focus-visible{outline:2px solid #835ca0;outline-offset:2px}
.btn-layout{padding:8px 12px;border:1px solid #ffffff70;border-radius:9px;background:#ffffff1c;color:#fff;cursor:pointer;white-space:nowrap}
.btn-layout[aria-pressed="true"]{background:#835ca0}
.layout-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 14px 10px;padding:10px 14px;border-radius:10px;background:#ffffffc9;color:#62516e;font-size:12px}
.layout-toolbar button{flex-shrink:0;padding:6px 9px;border:1px solid #d6c7df;border-radius:7px;background:#fff;color:#75518f;cursor:pointer}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.jobs-export-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.jobs-export-actions button{width:31px;height:31px;padding:0;border:1px solid #d7c9e0;border-radius:8px;background:#f5eef9;color:#76518f;font-size:21px;line-height:1;cursor:pointer}
.jobs-export-actions button:disabled{opacity:.6;cursor:wait}
.jobs-export-actions button[aria-expanded="true"]{border-color:#a180b8;background:#ece0f4}
.jobs-export-menu{position:fixed;z-index:110;display:flex;flex-direction:column;gap:3px;width:174px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:5px;border:1px solid #ddd0e5;border-radius:11px;background:#fdfaff;box-shadow:0 10px 28px #50366430}
.jobs-export-menu button{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px;border:0;border-radius:7px;background:transparent;color:#65477a;text-align:left;font-size:13px;cursor:pointer}
.jobs-export-menu button:hover,.jobs-export-menu button:focus-visible{outline:none;background:#eee3f5}
.jobs-export-menu small{color:#94859f;font-size:11px}
.jobs-export-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px;color:#777380;font-size:12px}
@container(max-width:1000px){.dashboard-layout .travel-layout{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(195px,1fr)}.dashboard-layout .travel-layout> *{height:auto}}
@container(max-width:540px){.dashboard-layout .travel-layout{grid-template-columns:minmax(0,1fr);grid-auto-rows:195px}.dashboard-layout .travel-date-inputs{flex-wrap:wrap}.dashboard-layout .travel-date-inputs input{min-width:100px}.dashboard-layout .travel-layout> *{height:195px}}
@media(max-width:760px){
  .layout.dashboard-layout{margin:0 8px 12px}
  .layout-toolbar{margin:0 8px 10px;align-items:flex-start;font-size:11px}
  .btn-layout{padding:7px 8px;font-size:11px}
  .topbar .site-title{position:static;transform:none;max-width:100%;flex:1;min-width:0;font-size:15px}
  .topbar-left{gap:4px}.topbar-right{gap:6px}.top-menu{display:none}
  .sync-status{position:absolute;right:8px;top:60px;z-index:15;background:#835ca0}
  .dashboard-layout .reference-head{gap:6px}
}
