
.project-image-open{display:block;width:100%;padding:0;margin:0;border:0;background:transparent;text-align:inherit;color:inherit;line-height:0}
.project-design-open,.project-design-open img{cursor:zoom-in!important}
.project-design-open:focus-visible{outline:2px solid #38bdf8;outline-offset:5px}
.project-reader-open{overflow:hidden}
.project-reader{position:fixed;inset:0;width:calc(100vw - 40px);height:calc(100dvh - 40px);max-width:1600px;max-height:none;margin:auto;padding:0;border:1px solid #ffffff26;border-radius:12px;background:#0a101d;color:#f8fafc;overflow:hidden;box-shadow:0 24px 80px #0008}
.project-reader::backdrop{background:#010101ed}
.project-reader[open]{display:flex;flex-direction:column}
.project-reader-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-shrink:0;padding:14px 20px;border-bottom:1px solid #ffffff20}
.project-reader-title{font-size:13px;line-height:1.5;letter-spacing:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.project-reader-close{display:inline-flex;align-items:center;gap:14px;flex-shrink:0;padding:7px 13px;background:#19263c;color:#fff;border:1px solid #ffffff25;border-radius:6px;font:inherit;font-size:13px}
.project-reader-close:hover{background:#2563eb}
.project-reader-close span{font-size:23px;line-height:1}
.project-reader-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px;scrollbar-color:#53647c #0a101d}
.project-reader-image{display:block;max-width:none!important;height:auto!important;margin:0 auto;cursor:default}
@media(max-width:600px){.project-reader{width:100vw;height:100dvh;border:0;border-radius:0}.project-reader-bar{padding:12px;gap:12px}.project-reader-title{font-size:11px}.project-reader-scroll{padding:12px}.project-reader-image{margin:0}}

/* CCDB groups fill columns from left to right, without empty masonry columns. */
.ccdb-project .amir-mobile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 28px;columns:auto;align-items:start}
.ccdb-project .amir-mobile-grid>.amir-screen{display:block;min-width:0;margin:0}
@media(max-width:1000px){.ccdb-project .amir-mobile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.ccdb-project .amir-mobile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}

/* Attendance screens follow reading order in one desktop row. */
.true-presence-project #attendance .amir-mobile-grid{display:grid;columns:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;align-items:start}
.true-presence-project #attendance .amir-screen{display:block;min-width:0;margin:0}
@media(max-width:600px){.true-presence-project #attendance .amir-mobile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}

@media(min-width:601px) and (max-width:1000px){.true-presence-project #attendance .amir-mobile-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
