/* Lokální fonty Garet: soubory doplňte do public/assets před nasazením. */
@font-face {
  font-family: "Garet";
  src: url("/assets/Garet-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Garet";
  src: url("/assets/Garet-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root{--line:#dedede;--muted:#777;--black:#000;--light:#f7f7f7}
*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%;background:#fff;color:#000}
body{font-family:"Garet",Arial,sans-serif;font-size:11px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:100%;max-width:1280px;margin:0 auto;padding-left:32px;padding-right:32px}
.site-header{border-bottom:1px solid #000;background:#fff}
.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:116px}
.brand-anchor{display:inline-block;line-height:0}.brand-logo{width:228px;max-width:100%;height:auto;display:block}
.header-title{position:absolute;left:50%;transform:translateX(-50%);font-size:15px;font-weight:500;margin:0;white-space:nowrap}
.profile-button{flex:none;width:48px;height:48px;border:0;border-radius:999px;background:#000;display:grid;place-items:center;transition:transform .15s ease}
.profile-button:hover{transform:scale(1.04)}.profile-button svg{width:28px;height:28px}.profile-static{pointer-events:none}
.app-main{padding-top:28px;padding-bottom:0}.panel{background:#fff;border:1px solid #000;border-radius:12px}
.dashboard{overflow:hidden}.dashboard-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 25px 21px}
h2{font-size:19px;margin:5px 0 8px;font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#777;font-weight:700;font-size:9px}
.hint{color:#777;font-size:10px;line-height:1.7;margin:0}
.stats{display:flex;gap:9px;flex-shrink:0}.stat{min-width:88px;border:1px solid #e5e5e5;border-radius:9px;padding:10px;background:#fafafa}
.stat b{display:block;font-size:21px;line-height:1.2}.stat span{display:block;font-size:8px;color:#777;margin-top:5px}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:15px 24px;border-top:1px solid #eee}
.toolbar input{flex:1 1 230px;min-width:150px}.toolbar select{flex:0 1 180px}
.toolbar input,.toolbar select,.field input,.field select,.field textarea{border:1px solid #ddd;border-radius:7px;min-height:38px;padding:9px 11px;outline:0;background:#fff;color:#111}
.toolbar input:focus,.toolbar select:focus,.field :is(input,select,textarea):focus{border-color:#000}
.primary-button,.secondary-button{height:37px;border-radius:6px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;font-size:10px;font-weight:600;text-decoration:none}
.primary-button{background:#000;color:white;border:1px solid #000}.primary-button:hover{background:#222}
.secondary-button{background:#fff;color:#000;border:1px solid #ddd}.secondary-button:hover{border-color:#000}
.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:wait}
.options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid #eee;padding:11px 24px}
.show-deleted{display:flex;align-items:center;gap:7px;font-size:9px;color:#555}.show-deleted input{accent-color:#000}
.table-wrap{border-top:1px solid #dedede}
.author-grid{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(160px,1.5fr) 90px minmax(138px,1fr) 116px;align-items:center;gap:16px}
.table-heading{background:#fafafa;border-bottom:1px solid #e8e8e8;padding:12px 24px;color:#777;font-size:9px;font-weight:600}
.author-row{padding:15px 24px;border-bottom:1px solid #ededed}.author-row:last-child{border-bottom:none}.author-row:hover{background:#fdfdfd}
.author-row.deleted{opacity:.65}.author-name{font-weight:700;font-size:11px;overflow-wrap:anywhere}
.author-sub{display:block;color:#888;font-size:9px;margin-top:5px;overflow-wrap:anywhere}
.email-copy{border:0;background:transparent;padding:5px 0;text-align:left;color:#000;display:inline-flex;gap:7px;align-items:center;max-width:100%;overflow-wrap:anywhere}
.email-copy:hover{text-decoration:underline;text-underline-offset:2px}.email-copy:focus-visible{outline:2px solid #000}
.missing-email{color:#aaa;font-size:9px}.photo-counter{font-weight:600}.photo-counter span{font-weight:400;color:#888;font-size:9px}
.badge{font-size:8px;font-weight:700;border:1px solid;border-radius:999px;padding:6px 8px;white-space:nowrap;display:inline-flex;justify-content:center;max-width:100%}
.badge.not_contacted{border-color:#ddd;color:#777;background:#fafafa}.badge.waiting{border-color:#efc27d;color:#805300;background:#fffaef}
.badge.negotiating{border-color:#b7c8f8;color:#254aa3;background:#f3f6ff}.badge.approved{border-color:#b8dabf;color:#24683b;background:#f2faf4}
.badge.rejected{border-color:#f0c3c3;color:#aa3131;background:#fff7f7}.badge.deleted-badge{border-color:#ddd;color:#888}
.actions{display:flex;align-items:center;gap:5px;justify-content:flex-end}
.action{width:31px;height:31px;border:1px solid #e1e1e1;border-radius:7px;background:#fff;color:#111;font-size:14px;display:grid;place-items:center}
.action:hover{background:#f5f5f5;border-color:#111}.action:disabled{opacity:.5}
.photos-expanded{margin-top:12px;border-top:1px dashed #ddd;padding-top:12px}
.photos-expanded h3{font-size:10px;margin:0 0 10px}.photo-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px;list-style:none;margin:0;padding:0}
.photo-list li{border:1px solid #eee;border-radius:6px;padding:9px 10px;min-width:0}.photo-list a{font-size:10px;color:#111;overflow-wrap:anywhere;line-height:1.6}.photo-list a:hover{color:#120a8f}
.photo-absent{color:#a66d00;font-size:8px;display:block;margin-top:4px}.photo-muted{font-size:9px;color:#777}
.empty{padding:42px 20px;text-align:center;color:#888;font-size:10px}.notice{padding:12px 15px;border:1px solid #bfdcc7;background:#f4fbf5;border-radius:9px;margin-bottom:14px;font-size:10px}
.notice.is-error{background:#fff6f6;border-color:#e5bcbc;color:#a02b2b}
.edit-dialog{width:min(690px,calc(100% - 28px));border:1px solid #000;border-radius:12px;padding:23px;background:#fff;color:#000;max-height:90vh;overflow:auto}
.edit-dialog::backdrop{background:rgba(0,0,0,.45)}.edit-form{margin:0}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between}.modal-heading h2{margin-top:5px}
.icon-close{background:transparent;border:0;font-size:28px;line-height:1}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:15px 0}
.field{display:flex;flex-direction:column;gap:6px;font-size:9px;font-weight:600}.field.full{grid-column:1/-1}.field textarea{resize:vertical;line-height:1.5}
.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:12px;border-top:1px solid #eee}
.login-panel{max-width:580px;margin:0 auto;padding:30px}.login-panel h2{margin-top:12px}.login-panel p{margin-bottom:24px}
.app-footer{margin-top:18px;padding:10px 2px 0;font-size:8px;color:#777}.app-footer-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:4px}
.brand-footer-bar{display:block;width:100vw;margin-top:26px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-bottom:0!important;background:linear-gradient(90deg,#000 0%,#120A8F 100%)}
.brand-footer-inner{width:100%;max-width:1280px;min-height:64px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand-footer-logo{display:block;object-fit:contain;width:auto}.brand-footer-logo-lv{height:23px;max-width:34%}.brand-footer-logo-fa{height:18px;max-width:30%}
@media(max-width:950px){.header-title{display:none}.dashboard-top{align-items:flex-start;flex-direction:column}.author-grid{grid-template-columns:minmax(130px,1.3fr) minmax(140px,1.4fr) 75px minmax(110px,1fr) 100px;gap:9px}.author-row,.table-heading{padding-left:13px;padding-right:13px}}
@media(max-width:720px){.container{padding-left:20px;padding-right:20px}.header-inner{min-height:86px}.brand-logo{width:190px}.profile-button{width:44px;height:44px}.app-main{padding-top:16px}.dashboard-top{padding:20px 16px}.toolbar,.options{padding:12px 15px}.stats{width:100%}.stat{min-width:0;flex:1}.toolbar input,.toolbar select{flex-basis:100%}.toolbar button{flex:1 1 auto}
.table-heading{display:none}.author-grid{grid-template-columns:minmax(0,1fr) auto;gap:8px}.author-row{padding:15px}.author-identity{grid-column:1;grid-row:1}.email-wrap{grid-column:1;grid-row:2}.photo-wrap{grid-column:1;grid-row:3}.status-wrap{grid-column:2;grid-row:1}.actions{grid-column:2;grid-row:2/4;align-self:end}.badge{font-size:8px}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.brand-footer-inner{min-height:50px;padding:0 18px;gap:14px}.brand-footer-logo-lv{height:17px;max-width:38%}.brand-footer-logo-fa{height:13px;max-width:33%}}
@media(max-width:380px){.stats{gap:5px}.stat{padding:7px}.stat b{font-size:18px}.brand-footer-logo-lv{height:15px}.brand-footer-logo-fa{height:11px}}
/* Keep the gradient footer flush with the viewport bottom on short pages. */
body{display:flex;flex-direction:column;min-height:100dvh;overflow-x:hidden}
.app-main{display:flex;flex-direction:column;flex:1;width:100%}
.app-footer{margin-top:auto;padding-top:22px}

.gmail-results{display:grid;gap:10px;max-height:52vh;overflow:auto;margin:18px 0}.gmail-candidate{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:1px solid #e5e5e5;border-radius:8px;padding:12px;overflow-wrap:anywhere}.gmail-candidate strong{font-size:11px}.gmail-candidate .secondary-button{font-size:10px}

/* Rights 1.2.0 – Import-inspired refinements */
.profile-area{position:relative;margin-left:auto}.profile-button{overflow:hidden}.profile-image{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}.profile-image[hidden],.profile-menu[hidden]{display:none!important}.profile-button svg[hidden]{display:none!important}.profile-menu{position:absolute;z-index:30;right:0;top:calc(100% + 9px);min-width:225px;padding:12px;border:1px solid #ddd;border-radius:9px;background:#fff;box-shadow:0 10px 32px #0002}.profile-email{font-size:10px;overflow-wrap:anywhere;margin-bottom:10px}.profile-menu button{border:1px solid #ddd;background:#fff;border-radius:6px;padding:9px 12px;width:100%;font-weight:600;text-align:left}
.dashboard-top{align-items:center}.dashboard-top h2{margin:0;font-size:24px}.stats{flex-wrap:wrap;gap:8px}.stat{min-width:110px;background:#fff;border:1px solid #ddd;border-radius:9px;padding:9px 12px}.stat b{font-size:15px;line-height:1.3}.stat span{font-size:7px;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.author-grid{grid-template-columns:minmax(150px,1.3fr) minmax(160px,1.5fr) 90px minmax(138px,1fr) 160px}
.actions{gap:6px;min-width:160px}.action{width:34px;height:34px;min-width:34px;flex:0 0 34px;border-radius:8px;font-size:17px;font-weight:500}.action-placeholder{visibility:hidden;pointer-events:none}
.login-page .header-inner{justify-content:flex-start}.login-main{padding-top:0;min-height:calc(100dvh - 117px)}.login-box{width:min(760px,100%);text-align:center;margin:clamp(100px,17vh,190px) auto 0}.login-box h2{font-size:25px;margin:0 0 12px;font-weight:700}.login-box p{font-size:10px;color:#888;margin:0 0 35px}.google-login-button{min-width:270px;min-height:48px;height:48px;border-radius:8px;font-size:11px;gap:17px}.google-login-button span{font-weight:700}.login-page .app-footer{margin-top:auto}
@media(max-width:950px){.author-grid{grid-template-columns:minmax(130px,1.3fr) minmax(140px,1.4fr) 75px minmax(110px,1fr) 160px}}
@media(max-width:720px){.author-grid{grid-template-columns:minmax(0,1fr) auto}.actions{min-width:0;gap:5px}.action{width:32px;height:32px;min-width:32px;flex-basis:32px}.stats{width:100%}.stat{min-width:0;flex:1}.dashboard-top h2{font-size:21px}.login-box{margin:clamp(140px,29vh,300px) auto 0}.login-box h2{font-size:24px}.login-box p{line-height:1.65}.google-login-button{width:min(100%,310px)}}

/* Fonty Garet se načítají lokálně z public/assets; soubory nejsou součástí ZIP. */
.action{display:flex;align-items:center;justify-content:center;padding:0;line-height:1}
.action svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.action svg.icon-solid{fill:currentColor;stroke:none}
.profile-button{padding:0;overflow:hidden}
.profile-image{width:100%;height:100%;object-fit:cover}


/* v1.2.8 — original mobile dashboard layout; centered login retained */
.login-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.login-page .site-header{flex:0 0 auto}
.login-page .login-main{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding-top:0}
.login-page .login-box{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:760px;margin:0 auto;padding:30px 0;text-align:center}
.login-page .app-footer{flex:0 0 auto;margin-top:0;width:100%}
@media(max-width:720px){
  /* Mobile dashboard: keep the counters on their own row, as in v1.2.6. */
  .dashboard-top{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:20px 16px}
  .dashboard-top > div:first-child{width:100%;text-align:left}
  .dashboard-top h2{font-size:21px;line-height:1.25;text-align:left;margin:0}
  .dashboard-top .stats{display:flex;flex-wrap:nowrap;width:100%;gap:8px}
  .dashboard-top .stat{min-width:0;flex:1;padding:9px 12px}
  .dashboard-top .stat b{font-size:15px;line-height:1.3}
  .dashboard-top .stat span{font-size:7px;line-height:1.25;letter-spacing:.05em}
  .login-page .login-main{min-height:0;padding-top:0}
  .login-page .login-box{width:100%;margin:0 auto;padding:28px 0}
  .login-page .login-box h2{font-size:clamp(23px,6vw,27px);line-height:1.25}
  .login-page .login-box p{font-size:clamp(10px,2.8vw,13px);line-height:1.6;margin-bottom:35px}
  .login-page .google-login-button{width:min(100%,310px);min-height:48px;font-size:12px}
  .edit-dialog input,.edit-dialog select,.edit-dialog textarea{font-size:16px!important}
}

/* v1.2.9: Mobile author status aligned to left, without moving dashboard counters. */
@media (max-width:720px) {
  .author-row .status-wrap { grid-column:1; grid-row:4; justify-self:start; align-self:center; text-align:left; }
  .author-row .actions { grid-column:2; grid-row:2 / 5; align-self:end; }
}
